首先,玩家将控制一个圆形物体。 我试图在基于磁贴的游戏中进行碰撞。我的一个问题是并非所有的瓷砖都是方形的。它们都是各种不规则的形状。我想要处理这个问题的方法是做两次检查; 1)检查玩家是否在可击中牌的范围内 2)检查(不知何故)他们是否真的与瓷砖接触
我该怎么做?或者,还有更好的方法? 我正在使用C#/ XNA(可能并不重要)
答案 0 :(得分:1)
您可以首先检查rectangular collision以及per-pixel collision是否存在冲突检查。
这两个链接非常棒,非常适合使用XNA进行基本的碰撞检测。
答案 1 :(得分:1)
有几种方法可以解决这个问题。就个人而言,我会跟踪列表中的所有可碰撞对象。如果有很多对象(多说200),你可以保留几个列表。每个列表代表屏幕的四分之一或八分之一。在每次更新时,您都可以浏览列表并检查碰撞的对象(Tiles重叠)。如果图块重叠,那么您将检查Pixel Perfect Collisions。
答案 2 :(得分:0)
我建议使用物理引擎。您可以在他们的网站上或通过谷歌搜索找到每个教程和文档。这些是一些XNA物理引擎:
答案 3 :(得分:0)
我打算为我的下一个项目创建以下解决方案: