本节我们将开发一个简单的HelloCocos2D实例,并且通过几行代码在屏幕中添加一架飞机,甚至让飞机在屏幕中飞行。通过本章的实例,大家可以初步体验Cocos2D的强大功能。1.3.1 创建HelloCocos2D项目打开Xcode,单击菜单栏上的File→New→New Project以创建新项目,会看到3个Cocos2D模板,如图1-16所示。
选择第一个模板,给项目命名“HelloCocos2D”,其他保持选项默认,然后单击“Next”,选择要保存的目录,单击“Create”以创建项目。 使用快捷键Command +R编译运行HelloCocos2D项目,就可以看到经典的Hello World画面了,如图1-17所示。 注意 在Xcode中,Command+B是编译程序的快捷键,建议任何时候都先用此命令检查是否有错误;而Command+R则是编译并运行程序的快捷键。 1.3.2 添加小飞机 看到经典的Hello World在屏幕上出现,大家是不是很有成就感?但是这个项目也未免太单调了点,让我们稍微调整一下项目,让HelloCocos2D内容更丰富一点吧。 那么如何实现呢?有过iPhone应用开发经验的朋友都知道,需要把相关的资源提前准备好。这里说的资源就是图片、音效之类的文件。即便这些后续会交给美工和音效师来制作,但在开发的时候也起码要用伪资源来替代,到时候再用同名文件更换就好。请大家从chapter1resourcesart中获取本章所需要的资源文件。 如果大家已经下载了相关资源,就把其中的Plane文件夹直接拖到Xcode中HelloCocos2D项目中的Resources里,记住一定要选中“Copy items into destination group抯 folder(if needed)”选项,如图1-18所示。 接下来,在Xcode中切换到HelloWorldLayer.m文件,找到-(id)init方法,并添加几行代码,修改后的init方法如代码清单1-1所示。 代码清单1-1 修改后的init方法 // on "init" you need to initialize your instance -(id) init { // always call "super" init // Apple recommends to re-assign "self" with the "super" return value if( (self=[super init])) { // create and initialize a Label CCLabelTTF *label = [CCLabelTTF labelWithString:@"Hello World" fontName:@"Marker Felt" fontSize:64]; // ask director the the window size CGSize size = [[CCDirector sharedDirector] winSize]; // position the label on the center of the screen label.position = ccp( size.width /2 , size.height/2 ); // add the label as a child to this Layer [self addChild: label]; //add the plane sprite CCSprite *plane = [CCSprite spriteWithFile:@"plane.png"]; plane.position = ccp(size.width/2,size.height*0.7); [self addChild:plane]; } return self; }使用快捷键Command +R编译运行HelloCocos2D项目,现在的屏幕中不再是单调乏味的Hello World了,一架可爱的飞机出现在了屏幕的中央,如图1-19所示。
1.3.3 让飞机飞行 既然是飞机,我们能不能让它飞起来呢?在Cocos2D中要实现这个功能轻而易举。 还是在HelloWorldLayer.m中找到init方法,在代码清单1-1中添加飞机精灵的代码之后再添加新的代码,如代码清单1-2所示。 代码清单1-2 修改init方法 //添加以下代码让飞机在屏幕中飞行 id flyAction = [CCMoveTo actionWithDuration:3.0f position:ccp(size.width+100,size.height*0.7)]; [plane runAction:flyAction];编译运行项目,可以看到飞机从屏幕中央向右侧飞去。怎么样?我们的Cocos2D项目是不是有点像电影的开场呢?
相关资源:七夕情人节表白HTML源码(两款)