添加类iOS cocos2d 2游戏开发实战(第3版)
这两天一直在学习添加类之类的问题,现在正好有机会和大家讨论一下.
第1章 简介
1
1.1 第3版中的新增内容
2
1.2 选择ios版cocos2d的来由
3
1.2.1 收费
3
1.2.2 开源
4
1.2.3 objective-c
4
1.2.4 2d游戏引擎
4
1.2.5 物理引擎
4
1.2.6 技术难度较低
5
1.2.7 依然需要编程
5
1.2.8 超棒的cocos2d社区
5
1.3 为什么要用kobold2d取代cocos2d-iphone
6
1.4 其他cocos2d游戏引擎
6
1.5 本书读者对象
7
1.6 阅读前提
8
1.6.1 编程经验
8
1.6.2 objective-c
8
1.7 本书内容
9
1.7.1 ios游戏开发新手将学会什么
9
.1.7.2 ios应用程序开发者将学会什么
10
1.7.3 cocos2d开发者将学会什么
10
1.8 章节分析
10
1.9 本书的源代码
11
1.10 问题和反馈
12
第2章 入门
13
2.1 准备工作
13
2.1.1 系统要求
13
2.1.2 注册成为ios 开发者
14
2.1.3 证书与授权文件
14
2.1.4 下载并安装xcode与ios sdk
15
2.1.5 下载cocos2d或kobold2d
16
2.1.6 安装kobold2d
16
2.1.7 创立kobold2d 项目
16
2.1.8 安装cocos2d及其xcode项目模板
18
2.1.9 创立cocos2d项目的方法
19
2.1.10 如安在cocos2d项目中支撑arc
21
2.2 cocos2d和kobold2d应用程序剖析
28
2.3 支撑arc的内存管理
34
2.4 改变世界
35
2.5 你还应该知道的
37
2.5.1 ios设备
37
2.5.2 关于内存的应用
38
2.5.3 ios模拟器
39
2.5.4 关于性能和日志
40
2.6 本章小结
41
第3章 基础知识
43
3.1 cocos2d场景图
43
3.2 ccnode类的层次结构
46
3.3 ccnode类
47
3.3.1 节点的处理方法
47
3.3.2 动作的处理方法
48
3.3.3 消息调度
49
3.4 director类、场景和层
53
3.4.1 director类
53
3.4.2 ccscene类
53
3.4.3 场景和内存
54
3.4.4 推动和弹出场景
55
3.4.5 cctransitionscene类
56
3.4.6 cclayer类
58
3.5 ccsprite类
64
3.6 cclabelttf类
65
3.7 菜单
66
3.8 动作
71
3.8.1 延时动作
72
3.8.2 刹时动作
77
3.9 方向、单例、测试、api参考
80
3.10 本章小结
86
第4章 你的第一个游戏
87
4.1 创立doodledrop项目
88
4.2 从一个支撑arc的cocos2d项目开始
88
4.3 创立doodledrop场景
90
4.4 添加player sprite
93
4.5 减速计输入
96
4.6 初次测试运行
97
4.7 玩家速度
97
4.8 添加障碍物
100
4.9 碰撞检测
105
4.10 标签和位图字体
107
4.10.1 添加得分标签
107
4.10.2 cclabelbmfont简介
108
4.10.3 应用glyph designer创立位图字体
109
4.11 播放音频
111
4.12 ipad开发注意事项
113
4.12.1 支撑retina高清表现屏的ipad
113
4.12.2 单个通用的应用程序亦或两款独立的应用程序
113
4.12.3 限制支撑设备
114
4.13 本章小结
115
第5章 游戏组件
117
5.1 应用多个场景
117
5.1.1 添加多个场景
117
5.1.2 正在加载下一段,请做好准备
120
5.2 应用多个层
122
5.2.1 实现关卡的最佳方法
128
5.2.2 cclayercolor和cclayergradient
129
5.3 从ccsprite类继承游戏对象
130
5.4 应用ccsprite复合游戏对象
131
5.5 奇妙的ccnode派生类
135
5.5.1 ccprogresstimer
136
5.5.2 ccparallaxnode
137
5.5.3 ccmotionstreak
139
5.6 本章小结
141
第6章 深入了解精灵
143
6.1 retina表现屏
143
6.2 ccspritebatchnode
146
6.2.1 何时应用ccspritebatchnode
148
6.2.2 sprites01示例项目
148
6.3 精灵动画初体验
154
6.4 用于创立动画的辅助类别
155
6.5 应用纹理图册
158
6.5.1 作甚纹理图册
158
6.5.2 texturepacker工具分析
158
6.5.3 为texturepacker准备项目
159
6.5.4 应用texturepacker创立纹理图册
160
6.5.5 在cocos2d中应用纹理图册
163
6.5.6 改良ccanimation辅助类别
165
6.5.7 将全部图像都放入一个纹理图册中
166
6.6 本章小结
167
第7章 滚屏射击游戏(上)
169
7.1 高等视差滚屏
169
7.1.1 将背景创立为条纹
169
7.1.2 在代码中重建背景
171
7.1.3 挪动parallaxbackground
174
7.1.4 视差滚动的速度要素
175
7.1.5 实现背景的无限滚动
177
7.1.6 清除闪烁
180
7.1.7 重复贴图
181
7.2 虚拟手柄
182
7.2.1 sneakyinput简介
182
7.2.2 触摸按钮发生射击
185
7.2.3 为按钮添加皮肤
187
7.2.4 控制动作
189
7.2.5 数字控制
192
7.3 本章小结
193
第8章 滚屏射击游戏(下)
195
8.1 添加bulletcache类
195
8.2 添加敌人
202
8.2.1 enemy类
203
8.2.2 enemycache类
208
8.3 组件类
212
8.4 射击开火
215
8.5 大怪物的性命条
218
8.6 本章小结
221
第9章 粒子效果
223
9.1 粒子效果实例
223
9.2 用庞杂方法创立粒子效果
226
9.2.1 继承ccparticlesystem
227
9.2.2 ccparticlesystem属性
229
9.3 particle designer
238
9.3.1 particle designer分析
238
9.3.2 应用particle designer生成的粒子效果
240
9.3.3 分享粒子效果
241
9.4 在射击游戏中添加粒子效果
243
9.5 本章小结
245
第10章 瓦片地图
247
10.1 瓦片地图简介
247
10.2 应用texturepacker处理图像
250
10.3 tiled(qt)地图编辑器
251
10.3.1 创立新的瓦片地图
251
10.3.2 设计瓦片地图
254
10.4 在cocos2d中应用直角瓦片地图
256
10.4.1 定位被触摸的瓦片
260
10.4.2 应用对象层
263
10.4.3 绘制对象层矩形
264
10.4.4 滚动瓦片地图
266
10.5 本章小结
268
第11章 斜角瓦片地图
269
11.1 设计斜角瓦片地图图形
270
11.2 应用tiled编辑斜角瓦片地图
272
11.2.1 新建斜角瓦片地图
272
11.2.2 创立新的斜角瓦片集
274
11.2.3 设计斜角瓦片地图的基本规则
274
11.3 将斜角瓦片地图应用到游戏编程中
276
11.3.1 在cocos2d中加载斜角瓦片地图
276
11.3.2 在cocos2d中设置斜角瓦片地图
276
11.3.3 定位斜角瓦片
278
11.3.4 滚动斜角瓦片地图
281
11.3.5 斜角瓦片地图的边界问题
282
11.3.6 增加可挪动的玩家角色
285
11.4 在游戏中加入更多内容
293
11.5 本章小结
294
第12章 物理引擎
295
12.1 物理引擎的基本概念
295
12.2 物理引擎的局限性
296
12.3 box2d与chipmunk
296
12.4 box2d
297
12.4.1 box2d眼中的世界
298
12.4.2 把挪动范围制约在屏幕内
302
12.4.3 转换点
304
12.4.4 在box2d世界中添加盒子
304
12.4.5 更新box2d世界
306
12.4.6 碰撞检测
307
12.4.7 连接刚体
309
12.5 chipmunk
310
12.5.1 构建chipmunk物理空间
311
12.5.2 将盒子添加到物理空间中
313
12.5.3 添加小盒子
314
12.5.4 更新chipmunk物理空间
315
12.5.5 chipmunk碰撞实践
316
12.5.6 chipmunk中的枢纽
317
12.6 本章小结
319
第13章 弹球游戏
321
13.1 图形:凸多边形和逆时针方法
321
13.2 应用physicseditor
322
13.2.1 定义发射器形状
324
13.2.2 定义弹球桌形状
326
13.2.3 定义挡板
328
13.2.4 定义反弹器和球
329
13.2.5 保存并宣布
330
13.3 编写弹球游戏
330
13.3.1 强制纵向表现
331
13.3.2 bodysprite类
331
13.3.3 创立弹球桌
334
13.3.4 box2d调试绘制
340
13.3.5 添加球
341
13.3.6 使球动起来
343
13.3.7 添加反弹器
346
13.3.8 发射器
348
13.3.9 挡板
356
13.4 本章小结
360
第14章 game center
361
14.1 激活game center
361
14.1.1 在itunes connect中创立应用程序
362
14.1.2 建立排行榜和成绩
362
14.1.3 appcontroller和navigationcontroller
363
14.1.4 配置xcode项目
363
14.1.5 小结
366
14.2 game kit编程
366
14.2.1 gamekithelper委托
367
14.2.2 检查game center是否可用
368
14.2.3 验证当地玩家身份
369
14.2.4 block对象
372
14.2.5 接收当地玩家的挚友列表
374
14.2.6 排行榜
376
14.2.7 成绩
382
14.2.8 联机
387
14.2.9 收发数据
391
14.3 本章小结
395
第15章 cocos2d与uikit视图
397
15.1 cocoa touch是什么
397
15.2 同时应用cocoa touch和cocos2d
398
15.2.1 为什么将cocoa touch和cocos2d混合在一起
398
15.2.2 混合cocoa touch和cocos2d的局限性
398
15.2.3 cocoa touch和cocos2d的区别
399
15.3 注意:你在cocos2d中的第一个uikit视图
400
15.4 在cocos2d应用程序中嵌入uikit视图
403
15.4.1 在cocos2d视图的后面添加视图
403
15.4.2 应用uiimage改变uitextfield的皮肤
405
15.4.3 在cocos2d视图的后面添加视图
407
15.4.4 添加利用interface builder的视图设计
413
15.5 在cocoa touch应用程序中嵌入cocos2d视图
415
15.5.1 用cocos2d创立基于视图的应用程序项目
415
15.5.2 设计混合应用程序的用户界面
417
15.5.3 启动cocos2d引擎
418
15.5.4 改变场景
421
15.6 本章小结
423
第16章 kobold2d入门
425
16.1 应用kobold2d的利益
425
16.1.1 准备应用kobold2d
426
16.1.2 收费应用kobold2d
426
16.1.3 kobold2d升级简略
426
16.1.4 kobold包括风行的类库
426
16.1.5 kobold2d的跨平台性
427
16.2 kobold2d的工作空间
428
16.3 hello-kobold2d模板项目
429
16.3.1 helloworld项目文件
429
16.3.2 kobold2d如何启动应用程序
431
16.3.3 hello kobold2d场景和层
434
16.3.4 用isimulate运行helloworld
438
16.4 应用kkinput编写的针对mac的doodledrop
439
16.5 本章小结
441
第17章 番外篇
443
17.1 其他学习和工作资源
444
17.1.1 追求帮助
444
17.1.2 从源码项目中受益
446
17.1.3 cocos2d podcast
450
17.1.4 工具分析
450
17.1.5 cocos2d参考应用程序
451
17.2 游戏行业
453
17.2.1 与出版商合作
454
17.2.2 寻觅自由职业者
455
17.2.3 寻觅收费的艺术品和音频
455
17.2.4 寻觅相关工具
456
17.2.5 营销
456
17.2.6 应用更多技术获得更多收入
459
17.3 本章小结
463
文章结束给大家分享下程序员的一些笑话语录:
Borland说我很有前途,Sun笑了;Sun说我很有钱,IBM笑了;IBM说我很专业,Sybase笑了;Sybase说我数据库很牛,Oracle笑了;Oracle说我是开放的,Linux笑了;Linux说我要打败Unix,微软笑了;微软说我的系统很稳定,我们都笑了。