tips 1:任何时候你都应该避免使用固定的位置。如果你只是简单的把主角精灵的位置设为(160, 32)的话,你做了两个其实应该避免的假设。第一个假设:你假设屏幕尺寸是320像素,但是实际上并不是每个iOS设备屏幕都是这个尺寸。第 二个假设:你假设图片的高度是64像素,但是这个高度可能会改变。一旦你开始做出类似的假设,你会习惯于在整个项目里做出这样的假设。
tips 2:CGPoint pos = player.position; pos.x += acceleration.x * 10; player.position = pos;
注意到上述代码中奇怪的地方了吗?本来可能一行代码就足够的地方,我却用了三行。
player.position.x += acceleration.x * 10;
不过,不像其它编程语言如Java,C++和C#,上面的代码不能够改变Objective- C的属性。player.position.x实际上调用的是位置的获取方法(getter method):[player position]。这个方法会获取当前主角精灵的临时位置信息,上述一行代码实际上是在尝试着改变这个临时CGPoint中成员变量x的值。不过这个临时的CGPoint是要被丢弃的。在这种情况下,精灵位置的设置方法(setter method): [player setPosition]根本不会被调用。
tips 3:在计算imageWidthHalved时,我们将contentSize乘以0.5,而不是用它除以2。这是一个有意的选择,因为除法可以用乘法来代替以得到同样的计算结果.因为上述更新方法在每一帧都会被调用,所以所有代码必须在每一帧的时间里 以最快的速度运行。因为iOS设备使用的ARM CPU不支持直接在硬件上做除法,乘法一般会快一些。虽然在我们的例子里效果并不明显,但是养成这个习惯对我们很有好处.
tips 4:如果不是绝对必要,不要在for或者其它循环里的条件判断中调用方法,这样可以节省几个CPU循环。在我们的例子中,我使用了一个名为 numSpiders 的变量,用于存放[spiders count]的计算结果。然后在for循环的条件判断中使用 numSpiders 而不是[spiders count]。因为spiders数组并没有在for循环里面被修改,所以此数组的元素个数在循环过程中是不会改变的。这也是为什么我可以将此计算结果保存在变量中,而不至于在for循环的条件判断中反复调用[spiders count]
tips 5:我提到更新CCLabel的文字速度会很慢,因为上面的文字实际上是张贴图,它需要通过iOS的字体渲染方法来生成,同时还要兼顾分配一个新的贴图和释放旧的贴图,这些都很花时间.CCBitmapFontAtlas类可以让标签文字更新速度加快.
scoreLabel = [CCBitmapFontAtlas bitmapFontAtlasWithString:@"0" fntFile:@"bitmapfont.fnt"];
自己创建bitmap字体文件,我们就来讨论一下如何创建这些文件。 我们使用的工具叫Hiero,开发者是Kevin James Glass。它是一个免费的Java Web程序,你可以在这里找到它:http://slick.cokeandcode.com/demos/hiero.jnlp
分享到:
相关推荐
Learn iPhone and iPad cocos2d Game Development中文版全集
《Learn iPhone and iPad Cocos2D Game Development》翻译的章节。 来至cocoaChina论坛会员提供 个人觉得是一本不错的教程
中文Learn iPhone and iPad cocos2d Game Development.pdf
Learn iPhone and iPad Cocos2D Game Development中文版
Learn iPhone and iPad Cocos2D Game Development provides a rock-solid introduction to the cocos2d iPhone game engine and related tools. It focuses on the process of creating several games made entirely...
苹果IOS平台游戏设计教程Learn iPhone and iPad Cocos2D Game Development
learn iphone and ipad cocos2d game development 源码2
Learn iPhone and iPad Cocos2D Game Development源码一
Learn iPhone and iPad Cocos2D Game Development源码二
中文高清Learn iphone and ipad cocos2d game development.zip
01 介绍cocos2d 02 开始学习 03 基础知识 04 你的第一个游戏 05 游戏构成要素 06 深入了解精灵 07 横向滚屏射击游戏 08 完成滚屏射击游戏 09 粒子效果 10 瓷砖地图基础知识 11 45度角瓷砖地图 12 物理引擎 13 弹球...
learn iphone and ipad cocos2d game development 是一本出色的讲解cocos2d的书籍,本人整理了其中英文版本与大家分享。
learn iphone and ipad cocos2d game development 是一本出色的讲解cocos2d的书籍,特此与大家分享其源码部分,欲求书籍,请到本人的其他资源查看,谢谢
Learn iPhone and iPad Cocos2D Game Development 4\5\6章的中文翻译,很不错,可以下来看看,另外我已经这本书相关代码发上来了,有需要的可以去下
Learn iPhone and iPad Cocos2D Game Development的中文翻译版pdf,13章全、。
Learn iPhone and iPad cocos2d Game Development 中文单一文件版本,由多文件版本制作,供大家使用
Learn iPhone and iPad Cocos2D Game Development中文翻译第九章,关于粒子效果的制作教程,很少见到了喔赶紧的,不要钱~~回报社会,