我想创建一个 iPhone/iPod 游戏。我希望它是 3d,但我想使用精灵而不是 OpenGL 来做到这一点(我认为这会更容易,因为我不知道 OpenGL)。
我正在考虑简单地将精灵分层并改变它们的大小以产生 3d 的错觉。它不需要太有说服力,因为游戏会有点卡通。
如何在 iPhone 平台上使用精灵作为 OpenGL 的替代品?
我想创建一个 iPhone/iPod 游戏。我希望它是 3d,但我想使用精灵而不是 OpenGL 来做到这一点(我认为这会更容易,因为我不知道 OpenGL)。
我正在考虑简单地将精灵分层并改变它们的大小以产生 3d 的错觉。它不需要太有说服力,因为游戏会有点卡通。
如何在 iPhone 平台上使用精灵作为 OpenGL 的替代品?
您可以为此使用 CoreAnimation。使用UIImageViews
(或普通UIViews
)或CALayers
.
它通常是某些类型的 2d 游戏(例如棋盘游戏)的最佳选择,因为动画、旋转和缩放非常简单。请记住,如果您关心性能,OpenGL 总是会更好。
根据 3d 的数量,我建议看一下 cocos2d。它支持多个图层、精灵、动画等,但非常容易上手和学习。(对我来说比 OpenGL 容易得多)示例代码非常全面。
我已经使用核心动画构建了一个游戏,其中大约有 17 - 20 个对象在屏幕缩放和旋转上浮动,并且 iPhone 上的性能很好(请确保您定期在 iPhone 上检查,因为模拟器不会模拟 iPhone 内存或 CPU 速度)。
CoreAnimation 非常简单而且非常强大。将 PNG 用于图像,我认为您不会遇到很多问题。真正的杀手将是图像中的 alpha,这对 iPhone 来说是一项艰苦的工作。所以你的透明度越低,你的应用程序就会越好。
除了 Marco 的回答,我想补充一点:不使用 OpenGL 也可能对设备电池造成更多负担。据我了解,OpenGL ES 在设备电源上的效率更高(如果实施得当)。当然,这取决于要与UIImageView
、UIView
或CALayers
等一起使用多少动画。
我确信有一个转折点。