`
tank2308635
  • 浏览: 191670 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

"learn iPhone and iPad cocos2d Game Development" 学习(Tips 3)

 
阅读更多


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中文版全集》是一部深入浅出的教程,旨在帮助读者掌握在iOS平台上使用cocos2d框架开发游戏的技能。cocos2d是一款强大的2D游戏开发库,特别适合于iPhone和iPad应用...

    Learn iPhone and iPad Cocos2D Game Developmentn中文版

    《Learn iPhone and iPad Cocos2D Game Development》中文版是一本专为苹果移动平台开发者设计的游戏开发教程。Cocos2D是一款广泛使用的2D游戏引擎,尤其在iOS平台上备受青睐,因为它提供了强大的图形渲染能力、丰富...

    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...

    Learn iPhone and iPad Cocos2D Game Development(中文版)

    01 介绍cocos2d 02 开始学习 03 基础知识 04 你的第一个游戏 05 游戏构成要素 06 深入了解精灵 07 横向滚屏射击游戏 08 完成滚屏射击游戏 09 粒子效果 10 瓷砖地图基础知识 11 45度角瓷砖地图 12 物理引擎 13 弹球...

    苹果IOS平台游戏设计教程Learn iPhone and iPad Cocos2D Game Development

    《苹果IOS平台游戏设计教程:Learn iPhone and iPad Cocos2D Game Development》是一本专为开发者准备的指南,旨在帮助他们掌握在iOS平台上利用Cocos2D框架开发游戏的技能。Cocos2D是一个强大的2D游戏开发库,特别...

    learn iphone and ipad cocos2d game development 中英双版

    learn iphone and ipad cocos2d game development 是一本出色的讲解cocos2d的书籍,本人整理了其中英文版本与大家分享。

    Learn iPhone and iPad Cocos2D Game Development源码二

    在本资源中,“Learn iPhone and iPad Cocos2D Game Development源码二”是一个关于使用Cocos2D游戏引擎开发iOS游戏的实践教程。Cocos2D是一个流行的游戏开发框架,适用于iPhone、iPad以及Mac平台,它允许开发者用...

    中文pdf-Learn iphone and ipad cocos2d game development

    通过《Learn iPhone and iPad Cocos2d Game Development》这本书,读者将不仅了解Cocos2d的基本概念,还能学习到如何设计游戏架构、优化性能、调试和发布游戏。书中应该包含了丰富的示例代码和实战项目,帮助读者...

    Learn iPhone and iPad Cocos2D Game Development 前三章中文翻译

    《Learn iPhone and iPad Cocos2D Game Development》是一本专为苹果移动设备(iPhone和iPad)游戏开发设计的教程书籍,其前三章的中文翻译为我们提供了初步了解Cocos2D框架的基础知识。Cocos2D是一款强大的开源游戏...

    Learn iPhone and iPad Cocos2D Game Development中英文版

    《Learn iPhone and iPad Cocos2D Game Development》是一本专为开发者设计的指南,旨在帮助他们掌握使用Cocos2D框架进行iOS游戏开发的技术。Cocos2D是一款强大的开源游戏引擎,尤其适合初学者和有经验的开发者进行2...

    pdf-Learn iphone and ipad cocos2d game development中文版

    《Learn iPhone and iPad Cocos2D Game Development》是一本针对初学者和有一定基础的开发者设计的书籍,专注于利用Cocos2D框架进行iOS平台的游戏开发。Cocos2D是一款广泛应用于2D游戏、动态图形和应用程序开发的...

    Learn iPhone and iPad cocos2d Game Development 中文翻译版

    《Learn iPhone and iPad cocos2d Game Development》中文翻译版是一本专门为希望在iPhone和iPad上进行游戏开发的开发者量身定制的指南。cocos2d是一个开源的游戏开发框架,它基于Objective-C,使得iOS游戏开发变得...

    Learn iPhone and iPad Cocos2D Game Development源码一

    在本资源中,“Learn iPhone and iPad Cocos2D Game Development源码一”提供了一个学习如何在iOS设备上使用Cocos2D游戏开发框架的实践机会。Cocos2D是一款广泛应用于2D游戏、图形界面以及动画应用开发的开源库,...

    Learn iPhone and iPad Cocos2D Game Development 源码 part1

    Learn iPhone and iPad Cocos2D Game Development 源码 的第一部分,因为加一起超过50M,所以分2部分提供下载。谢谢理解。是obj-c的源吗,语法改成c++的就可以直接编译了。内部类和参数基本一样。

    Learn iPhone and iPad Cocos2D Game Development 源码 part2

    Learn iPhone and iPad Cocos2D Game Development 源码 的第二部分,因为加一起超过50M,所以分2部分提供下载。谢谢理解。是obj-c的源吗,语法改成c++的就可以直接编译了。内部类和参数基本一样。

    Learn iPhone and iPad Cocos2D Game Development中文版(13章全)

    《Learn iPhone and iPad Cocos2D Game Development中文版》是一本深入浅出的教程,旨在帮助读者掌握在iOS平台上使用Cocos2D框架进行游戏开发的技术。Cocos2D是一款强大的2D游戏引擎,尤其适合Objective-C编程语言的...

    Learn iPhone and iPad Cocos2D Game Development 前4、5、6章中文翻译

    《Learn iPhone and iPad Cocos2D Game Development》是一本专为iOS平台上的游戏开发而设计的教程,尤其针对使用Cocos2D框架进行游戏开发的初学者和中级开发者。Cocos2D是一款强大的2D游戏引擎,广泛应用于iPhone和...

Global site tag (gtag.js) - Google Analytics