Xna 更精确的基于平铺的碰撞
首先,玩家将控制一个圆形物体。 我试图在一个基于瓷砖的游戏中进行碰撞。我的问题之一是不是所有的瓷砖都是方形的。它们是各种不规则的形状。我当时的处理方法是做两次检查; 1) 检查玩家是否在可命中磁贴的范围内 2) 检查(不知怎么的)他们是否真的接触到了瓷砖 我该怎么做?还是有更好的办法?Xna 更精确的基于平铺的碰撞,xna,2d,collision-detection,geometry,Xna,2d,Collision Detection,Geometry,首先,玩家将控制一个圆形物体。 我试图在一个基于瓷砖的游戏中进行碰撞。我的问题之一是不是所有的瓷砖都是方形的。它们是各种不规则的形状。我当时的处理方法是做两次检查; 1) 检查玩家是否在可命中磁贴的范围内 2) 检查(不知怎么的)他们是否真的接触到了瓷砖 我该怎么做?还是有更好的办法? 我使用的是C#/XNA(可能不重要)我建议使用物理引擎。你可以在他们的网站上或通过谷歌搜索找到每一个的教程和文档。以下是一些XNA物理引擎: (我刚刚在谷歌搜索中发现了这一点,但无法保证,但另外两个在XNA社
我使用的是C#/XNA(可能不重要)我建议使用物理引擎。你可以在他们的网站上或通过谷歌搜索找到每一个的教程和文档。以下是一些XNA物理引擎:
这两个链接非常棒,非常好地介绍了XNA的基本碰撞检测。有几种方法可以解决这个问题。就我个人而言,我会跟踪列表中所有可碰撞的对象。如果有很多对象(比如说200多个),你可以保留几个列表。每个列表将代表屏幕的四分之一或八分之一。每次更新时,您都可以运行列表并检查对象是否发生碰撞(平铺重叠)。如果瓷砖重叠,则您将检查。我计划为我的下一个项目创建以下解决方案: