我正在XNA中为自己的大学项目制作一个自上而下的2D射击游戏,我决定使用Farseer物理进行碰撞处理(至少)。
我已经成功地将Farseer应用到了我的项目中,并设置了许多正常运行的实体/ geom。
当我试图让一个带有旋转炮塔的玩家控制坦克发生碰撞时,我的坦克课就出现了问题。
我已经将坦克和炮塔创建为单独的身体/太阳穴并将它们放置在相同的CollisionGroup
中,以避免它们相互碰撞。在Tank类绘制方法中,我在tankGeom.Position
处的坦克底盘顶部绘制炮塔(使其跟随坦克的移动)。我可以驱动(和旋转)水箱,也可以独立旋转炮塔。坦克的底盘与游戏世界中的其他物体完美碰撞,但是炮塔不会碰撞任何东西......所以这就是我目前的问题。
我已经分别测试了坦克车身和炮塔,炮塔刚刚铺设在地面上并被其他车身推开,然后碰撞探测工作正常。但是一旦我开始相对于坦克的位置绘制其位置,炮塔碰撞就会失败。我希望能够发现炮塔(或者更确切地说是枪管)与其他物体(如建筑物,车辆等)之间的碰撞。