我一直在研究一个简单的2D平台发动机。到目前为止,我有一个精灵移动(尚未动画),3个平台用于“Jetpac”类型的游戏(旧的ZX Spectrum游戏 - 我敢肯定,如果你谷歌你可以在闪存盒中播放它)。
现在我遇到了实现碰撞检测的问题,因此精灵实际上可以在平台上行走。我认为这将是最大的工作,然后很容易继续。但是如何用平台实现碰撞检测?!
我有所有平台的边界框以及角色,后来会有敌人精灵的边界框,但这可以在以后处理。基本上,允许精灵在平台上行走的最简单方法是什么,而不是使用Bounding Box来完成它?
更多信息:
任何帮助?
答案 0 :(得分:4)
使用矩形进行简单碰撞检测的基础知识
使用rectangle struct作为边界框。然后,您可以使用intersects method将平台边界框与角色边界框进行比较。
维护效果的基础知识
如果您拥有大量平台的大级别,那么如果您将所有平台与角色进行比较,您的游戏可能会变慢。例如,您可以使用axis aligned bounding box技术来避免这种情况。 AABB的基础是您沿着x和y轴对边界框进行排序,因此将获得BB的近似位置。
最后但并非最不重要:
答案 1 :(得分:0)
您是否考虑过在游戏中使用物理引擎的选项?对于一个简单的平台游戏,这可能是矫枉过正,但你可以轻松添加额外的物理效果。
我建议你研究的2D物理引擎是: