cocoa2d (游戏开发)
2013-12-20 09:47
92 查看
游戏引擎:
一。场景CCScene
1.展示类场景 2. 选项类场景 3.游戏场景
每个场景都是通过不同的层(layer)的叠加和组和来实现 不同的功能的。因此,通常一个场景都是有一个或者几个层组成的。
二。层CCLayer
层是我们写游戏的重点,我们大约99%以上的时间是在层上实现我们的游戏内容。
eg:一个游戏主菜单画面是由3个层叠加实现的:Background layer Animation layer Menu layer
为了让不同的层可以组合产生统一的效果,这些层基
cda5
本上都是透明或者半透明的,层的叠加有顺序的,如同事件响应机制。
Cocoa2d从技术实现角度提供一些公用层:处理菜单的菜单层(Menu),处理颜色的颜色层(ColorLayer)等.
每一层又可以包含很多各式各样的内容要素:文本(Label) 链接(HTMLLabel) 精灵(Sprite) 地图等。
三。精灵 CCSprite
精灵是整个游戏开发处理的主要对象,地方的飞机。坦克是系统AI控制的精灵,代表玩家控制的我方飞机也是精灵。甚至随机飞过的一片云,一只鸟都是精灵。
特点:位置移动 旋转 放大缩小 运动
四.导演 CCDirector
精灵不应该依赖层,层不应该依赖场景,场景不应该依赖流程。
导演代表流程,负责游戏全过程的场景切换,接受层对象/场景的要求,按照预先设计好的流程来终止,压桡,激活当前场景,引导下一个场景。但导演通常只有一个,这个是间例(singleton).Coco2D框架已经预定义了该实例,不需创建,直接使用即可。
任何时间,只有一个Scene对象实例处于运行激活状态,该对象可以作为当前游戏内容的对象的整体包容对象,对于Menu(菜单对象,继承Layer对象),通常属于当前场景的主层。
Cocos2D-iPhone的实现类
CCDirector
负责创建,管理应用程序、游戏的主窗口,在特定的条件下显示执行某个场景。
设置主程序窗口显示属性。
管理,显示场景。
Director 对象管理场景的方法主要有以下几个:
1. 主程序启劢,显示第一个场景的方法:(void) runWithScene:(Scene*) scene ;
2. 挂起当前当前正在运行的场景并压栈到代执行场景队列。将传入场景设置为当前执 行场景:(void) pushScene:(Scene*) scene;
3. 执行代执行场景队列中的最后一个场景,当前场景被释放:(void) popScene; 当代执行队列中没有代执行场景时,系统自劢退出,调用end 方法。
4. 直接用一个场景取代当前执行场景,释放当前场景:(void) replaceScene: (Scene*) scene;返个凼数是经常使用的。
5. 结束场景运行:(void) end;
6. 暂停场景运行:(void)
pause;画面迓存在,时间任务停止。
7. 恢复场景运行:-(void) resume;
CCScene
当前版本基本上没有附加任何特殊功能,基本上可以看成是层Layer对象的一个容器。
CCLayer
功能:接收iPone上的屏幕触摸touch操作输入
接收动力感知输入
直接提供了以下三个层:
ColorLayer颜色层(可以通过setContentSize设置层大小,改变颜色块的尺寸)
Menu菜单层(实例必须是MenueItem类或者子类的实例)
MultiplexLayer复合层 可以包含多个层的复合层。
CCSprite
一个独立的图像块,通常情况它是运动的(Action):移动 旋转 放大缩小 等效果。
我们可以设置Sprite的属性让它运动,也可以通过动作Action来达到同样的目的。(95%内容是精灵实现模拟)
1.缓存图像内容,减少相同内容文件的读取次数
2.批量提交绘画,减少OpenGL函数的调用次数。
迓有一个叫CCSpriteFrameCache 类。该类用亍管理劢画效果的全部帧图像,该类直 接提供针对一个简单的图像处理工具 http://zwoptex.zwopple.com/输出文件支持。
一。场景CCScene
1.展示类场景 2. 选项类场景 3.游戏场景
每个场景都是通过不同的层(layer)的叠加和组和来实现 不同的功能的。因此,通常一个场景都是有一个或者几个层组成的。
二。层CCLayer
层是我们写游戏的重点,我们大约99%以上的时间是在层上实现我们的游戏内容。
eg:一个游戏主菜单画面是由3个层叠加实现的:Background layer Animation layer Menu layer
为了让不同的层可以组合产生统一的效果,这些层基
cda5
本上都是透明或者半透明的,层的叠加有顺序的,如同事件响应机制。
Cocoa2d从技术实现角度提供一些公用层:处理菜单的菜单层(Menu),处理颜色的颜色层(ColorLayer)等.
每一层又可以包含很多各式各样的内容要素:文本(Label) 链接(HTMLLabel) 精灵(Sprite) 地图等。
三。精灵 CCSprite
精灵是整个游戏开发处理的主要对象,地方的飞机。坦克是系统AI控制的精灵,代表玩家控制的我方飞机也是精灵。甚至随机飞过的一片云,一只鸟都是精灵。
特点:位置移动 旋转 放大缩小 运动
四.导演 CCDirector
精灵不应该依赖层,层不应该依赖场景,场景不应该依赖流程。
导演代表流程,负责游戏全过程的场景切换,接受层对象/场景的要求,按照预先设计好的流程来终止,压桡,激活当前场景,引导下一个场景。但导演通常只有一个,这个是间例(singleton).Coco2D框架已经预定义了该实例,不需创建,直接使用即可。
任何时间,只有一个Scene对象实例处于运行激活状态,该对象可以作为当前游戏内容的对象的整体包容对象,对于Menu(菜单对象,继承Layer对象),通常属于当前场景的主层。
Cocos2D-iPhone的实现类
CCDirector
负责创建,管理应用程序、游戏的主窗口,在特定的条件下显示执行某个场景。
设置主程序窗口显示属性。
管理,显示场景。
Director 对象管理场景的方法主要有以下几个:
1. 主程序启劢,显示第一个场景的方法:(void) runWithScene:(Scene*) scene ;
2. 挂起当前当前正在运行的场景并压栈到代执行场景队列。将传入场景设置为当前执 行场景:(void) pushScene:(Scene*) scene;
3. 执行代执行场景队列中的最后一个场景,当前场景被释放:(void) popScene; 当代执行队列中没有代执行场景时,系统自劢退出,调用end 方法。
4. 直接用一个场景取代当前执行场景,释放当前场景:(void) replaceScene: (Scene*) scene;返个凼数是经常使用的。
5. 结束场景运行:(void) end;
6. 暂停场景运行:(void)
pause;画面迓存在,时间任务停止。
7. 恢复场景运行:-(void) resume;
CCScene
当前版本基本上没有附加任何特殊功能,基本上可以看成是层Layer对象的一个容器。
CCLayer
功能:接收iPone上的屏幕触摸touch操作输入
接收动力感知输入
直接提供了以下三个层:
ColorLayer颜色层(可以通过setContentSize设置层大小,改变颜色块的尺寸)
Menu菜单层(实例必须是MenueItem类或者子类的实例)
MultiplexLayer复合层 可以包含多个层的复合层。
CCSprite
一个独立的图像块,通常情况它是运动的(Action):移动 旋转 放大缩小 等效果。
我们可以设置Sprite的属性让它运动,也可以通过动作Action来达到同样的目的。(95%内容是精灵实现模拟)
1.缓存图像内容,减少相同内容文件的读取次数
2.批量提交绘画,减少OpenGL函数的调用次数。
迓有一个叫CCSpriteFrameCache 类。该类用亍管理劢画效果的全部帧图像,该类直 接提供针对一个简单的图像处理工具 http://zwoptex.zwopple.com/输出文件支持。
相关文章推荐
- HTML5游戏开发 之 循环的控制(3)
- Android游戏开发 Unity3D基础
- 小小菜之Cocos2d-x游戏开发旅程——Lua之场景跳转
- BaBaLiuLiu游戏--开发H5游戏需要哪些技术
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十三)牵引式地图移动模式①
- 部分游戏开发工具(转载)
- 【iphone游戏开发】Iphone游戏开发之五:游戏场景切换,点阵字的实现和Hiero工具的利用
- 游戏开发中常用的设计模式
- cocos2d-x学习笔记(一)塔防类游戏道具系统开发(上)定时炸弹和轰炸的实现
- 书评——游戏编程精粹 & 游戏开发物理学
- J2ME游戏开发的高级优化技巧
- 【Unity3d游戏开发】unity3D OnTriggerEnter和OnCollisionEnter的一点个人心得(转载)
- J2ME游戏开发学习之用setClip分割图片
- 【COCOS2DX-游戏开发之六】App各平台启动流程
- 分享HTML5游戏开发的5条实用建议
- J2ME游戏开发学习之高效&漂亮显示积分
- 网络机器人(3)----游戏机器人的开发工具及开发步骤
- 【Unity3D游戏开发学习笔记】(五)灵魂降临—Unity脚本的简单运用
- 游戏开发 标栏
- 【cocos2dx网络游戏】开发环境