我是一名有帮助的助手,可以为您翻译文本。
我正在开发一款飞机战斗游戏,在计算飞行路径时遇到了一些问题...
当飞机传感器与雷达中的某个物体碰撞时,它应该转向某个方向以避免碰撞,但我无法做到这一点,因为我无法确定碰撞发生的确切位置。
我正在使用以下内容(仅相关部分):
我正在开发一款飞机战斗游戏,在计算飞行路径时遇到了一些问题...
当飞机传感器与雷达中的某个物体碰撞时,它应该转向某个方向以避免碰撞,但我无法做到这一点,因为我无法确定碰撞发生的确切位置。
我正在使用以下内容(仅相关部分):
public void beginContact(Contact contact)
{
Fixture f1 = contact.getFixtureA();
Fixture f2 = contact.getFixtureB();
int numpoints = contact.getWorldManifold().getNumberOfContactPoints();
WorldManifold wm = contact.getWorldManifold();
Vector2 point0 = new Vector2(wm.getPoints()[0].x, wm.getPoints()[0].y);
// ...
}
为什么变量point0始终具有值(0,0),而worldManifold.numContactPoints始终等于0?
这是一个传感器和静态物体的碰撞。
与这个教程(http://www.iforce2d.net/b2dtut/collision-anatomy)唯一的区别是我正在使用libgdx
,tileAtlas
和tileMapRenderer
来构建世界,因此所有静态fixture都附加在同一个body上。
抱歉如果这是一个新手问题,我在几天内找不到解决方案。
也发布在这里:http://badlogicgames.com/forum/viewtopic.php?f=11&t=5417#p25961
谢谢