CocoaNode是Cocos2d中很重要的一个类别。在程序中遇到物体要转移,显示或是改变大小等事件,都可以同过CocosNode来处理。
CocosNode包含多个参数:
position:设置物体位置
scale:物体尺寸缩放
rotation:物体旋转
contentSize:获取物体的大小尺寸
CocosNode有个addChild:方法,将一个 CocosNode添加到另一个 CocosNode中,一起进行相关操作。
//添加 CocosNode
[firstNode addChild:secondNode];
//删除 CocosNode
[firstNode removeChild:secondNode];
Sprite
程序开发中作常用到得图片。 Sprite继承CocoaNode,专门处理图形对象。
//建立一个新的sprite对象 mySprite
Sprite mySprtie=[Sprtie spriteWithFile:@"mysprite.png"];
//把mySprite添加到CocoaNode
[someNode addChild:mySprite];
Scene
一个游戏通常有多个场景:游戏画面,游戏说明,排行榜等,由对应的场景对象来负责处理。
Scene是一个用来存放CocoaNode的容器。 通常将游戏的背景放在scene中。
//建立一个node对象
Scene *myScene=[Scene node];
//创建一个包含背景的Sprtie
Sprite *bg=[Sprite spriteWithFile:@"background.png"];
//将背景sprite添加到scene的对象中
[myScene addChild:bg];
Layer:
游戏控制,与游戏者互动部分由Layer处理。
Scene负责的事屏幕显示的哪一个场景。可以包含多个Layer。每个layer负责不同的对象:背景动画,对象的操作,互动按钮等等。
//建立一个Layer并放到Scene myCustomLayer是自定义的。
Layer *myLayer=[myCustomLayer node];
[myScene addChild:myLayer];
要在不同的场景中切换,使用Director中的方法:
//先建立一个要切换的场景对象
Scene *newScene=[Scene node];
//切换场景
[[Director sharedDirector] replaceScene:newScene];
Director用于管理游戏的过程
//暂停
[[Director sharedDirector] pause];
//从暂停中恢复
[[Director sharedDirector] resume];
//结束
[[Director sharedDirector] end];
评论