我正在制作一个涉及子弹的游戏。它是机关枪,所以屏幕上会同时出现不止一颗子弹。如何为一个项目符号的属性和操作编写代码并将其应用于所有项目,例如一个项目符号的多个实例?
问问题
200 次
2 回答
1
您是否尝试过子类化UIImageView
?这样你就可以拥有一个createBullet
创建子类UIImageView
并将其添加到屏幕的函数,并且在子类中它可以包含用于动画等的函数和属性......
于 2012-06-25T19:10:26.190 回答
1
制作游戏的关键在于sprite的概念,即具有图形表示并且可以四处移动(管理碰撞等)的轻量级对象。
您可以尝试在 CALayers 之上使用 Core Animation 实现精灵,或者您可能决定使用像Cocos2D这样的游戏框架。
对于第一种方法,请查看这个简短的教程。如果你想使用 UIImageViews 实现你的精灵,这也可以帮助你,尽管你必须记住 CALayer 是轻量级的,UIView 不是,所以如果你计划有很多可能会有所作为。
至于复制子弹的问题,基本上关键建议是使用某种形式的缓存,这样您就不会在内存中多次复制相同的图像。UIImage
如果您使用便利构造函数,则该类可以使用非常基本的缓存机制imageNamed
。
同样,如果您打算制作具有良好性能(例如 40-60 fps)的成熟游戏,最好的建议是使用 Cocos2D,它将为您提供封装在简单界面中的 Open GL 图形的所有功能。
于 2012-06-25T19:13:26.643 回答