我是iPhone开发人员的新手,想写一个涉及2d碰撞的游戏。有人会给我一个关于各种框架如何在典型的2D碰撞游戏中相互作用的概念性概述吗?
我到目前为止提到的候选人是2d软件包,如quartz和cocos2d,以及物理引擎,如chipmunk和box2d。我不太清楚的是这些在我的背景下的关系。
提前感谢您的回答!
答案 0 :(得分:5)
Quartz是Apple的2D图形API。它通常不用于性能密集型游戏,因为您可以通过直接使用OpenGL或使用一些用于游戏的精简框架来获得更好的性能。 (这是Cocos2D提供的。)碰撞事件在这场辩论中是独立的,因为碰撞通常是在不知道碰撞物体的图形表示的情况下计算的。
碰撞(或一般物理)引擎与图形层之间的关系正是模型与MVC模式中视图之间的关系。在每个帧中,你将物理世界向前移动一点(物理),然后在新的位置(图形)上绘制对象。
实际上,模型和视图有时会混合一点以使事情更快,但原则上它们是完全不同的东西。这意味着您可以选择任何可能的OpenGL,Quartz或Cocos2D组合作为图形引擎,Box2D或Chipmunk作为物理引擎,并获得一个不错的游戏。我不确定特定组合在实践中的效果如何 - 如果这是你的问题,那么我只是浪费了你生命中的几分钟: - )
答案 1 :(得分:0)
zoul说得对,我只想补充一点:
iPhone的Cocos2d提供样品,包括Box2D和Chipmunk,如果你想尝试它们,看看它们是多么容易或难以使用。因此,您可以继续下载Cocos2d,然后稍微播放一下样本,看看它是否符合您的需求。