cocos2d笔记 (3)cocos2d四个基本概念

场景(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;



posted @ 2010-11-26 20:57  Fannic  阅读(1681)  评论(0编辑  收藏  举报