创建你的第一个cocos2d应用
在无数个已知和未知的程序猿宇宙空间中,存在着一个普遍的编程公理,那就是-第一个程序应用永远都是“HelloWorld”,而不管我们在这个未知的世界里面快乐与否,在这里我们也未能免俗。
打开XCode,创建新项目,会看到3个cocos2d模板,选择第一个cocos2d Application
编译运行HelloWorld工程,快捷键command +R就可以看到经典的hello World画面了。译注:command +B是编译的快捷键,建议任何时候都先用此命令检查是否有错误,免得浪费时间。
让helloworld稍微有趣一点
虽然看到hello world在屏幕上出现会让我们心情很爽,但就这样也太没意思了吧。哥是来学习游戏开发的,怎么也得来个太空货船之类的晃悠晃悠,看上去像那么回事吧?好吧,说干就干。
先做什么?有过iphone应用开发经验的都知道,得把相关的资源提前准备好,这里说的资源就是图片,音效神马的,即便这些是由美工和音效师提供的,但在开发的时候也起码得用伪资源来替代,到时候用同名文件更换就好了。否则,麻烦可不在少数。
好吧,如果你已经下载了链接中的工程资源,那么把给本章提供的资源中的SpaceCargoShip文件夹直接拉到HelloWorld的Resources里面去。
在Xcode中
1.把SpaceCargoShip文件夹拖到HelloWorld项目的Resources中,选择Copy items into destination groups folder(译注:如果不选中会怎样,在虚拟机上没问题,如果拿到设备上测试会让你头疼死。顺便补充下,哪怕是helloworld这样的项目,也尽量在设备上测试,而且在硬件配置最烂的设备上测试,特别是游戏,否则你就等着被用户骂吧)。
2.打开HelloWorldLayer.m(译注:很多教程里面用到的文件名是HelloWorldScene.m,曾经让我困惑很久,我想是cocos2d版本的问题),在init这个方法中添加如下代码:
CCSprite *spaceCargoShip = [CCSprite spriteWithFile:@"SpaceCargoShip.png"];
[spaceCargoShip setPosition:ccp(size.width/2, size.height/2)];
[self addChild:spaceCargoShip];
![](https://img-my.csdn.net/uploads/201209/29/1348884657_4854.png)
好吧,现在你的屏幕不再是单调乏味的hello world了。一艘巨大无比的太空货船占据了屏幕的中央。
译注:明眼人一看就知道,其实label相关的几条语句是可以注释掉的。你可以亲自动手试一下,看看有什么不同
这些语句是神马意思,作者后面会详细解释,大家稍安勿躁。
添加动作
有了太空货船,不是拿来看的,是拿来飞的,这个要实现起来在cocos2d中实在是太简单不过了。
在你刚才所添加的代码下再加两行就搞定了。
id moveAction = [CCMoveTo actionWithDuration:5.0f position:ccp(0, size.height/2)];
[spaceCargoShip runAction:moveAction];
还是快捷键command + b检查错误(以后默认先这一步就不再提了),然后command +r运行。
译注:你可以把position中ccp的坐标改为(-size.width/2,size.height/2),再跑一下,是不是更像电影开场的画面?或者把actionWithDuration:5.0f改成actionWithDuration:20.0f,看看有神马不同?总之,只要不出现error,随便试一下吧,你会明白每个参数的具体含义。
太空货船好像吃多了,缓缓的向屏幕的左侧飞去。怎样,比helloworld这样的废话有意思多了吧。后面好戏还有得是呢。
提醒:
如果你运行的时候提示出错:cocos2d: Couldn’t add image:SpaceCargoShip.png in CCTextureCache,
那么显然你忘了把资源文件拷贝到工程中去,或者是拷贝了错误的文件。