场景(CCScene)-主要为了作为容器对象
展示类场景:播放视频戒简单的在图像上输出文字,来实现游戏的开场介绍、 胜利、失败提示、帮助简介。
选项类场景:主菜单、设置游戏参数等。
游戏场景:返是游戏的主要内容,除了返个场景以外的其他类场景基本上都是通用架构实现的。
每个场景都是通过不同的局(Layer)的叠加和组合协作来实现不同的功能的。
层(CCLayer)-为了处理输入问题
为了让不同的局可以组合产生统一的效果,这些层基本上 都是透明戒者半透明的。
文本(Label)、链接(HTMLLabel)、精灵(Sprite)、地图等等。其中,精灵是重点
主要功能就是接收iPhone上的屏幕触摸(touch)操作输入和动力感知(Accelerometer)输入
精灵(CCSprite)-为了展示静态图片
精灵是整个游戏开发处理的主要对象,地方的飞机、坦克是系统 AI 控制的精灵,代表玩家控制的我方飞机也是精灵。
创建和添加精灵的方式:
// 从图像文件创建精灵(png, jpg),但要确保这个文件已经导入到resource里面了 CCSprite * mySprite = [CCSprite spriteWithFile: @" mySprite.png " ]; //设置在场景中的位置,可以是屏幕的中心 mySprite.position = ccp( 240 , 180 ); //加到场景里去 : [self addChild: mySprite];
导演 (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;