我在AndEngine中创建的应用程序中存在以下情况:由于引入的引力,附加的Box2D实体的精灵会出现并掉落到地面。
第一个物体正好落到地面上。第二个物体落在第一个物体上 - 这是可以的,但是如果我向右移动,它不会掉到地上而是挂在空中。 (我已经附加了触摸处理程序,以便我可以用手指移动对象)。
基本上有时候碰撞后第二个物体会在底部获得一些看不见的边缘。有人发现了这种情况,可以给我一个提示吗?
我只是调试它,所有对象都有我在开始时设置的夹具(密度5或1 - 无关紧要,弹性0,摩擦1)。
答案 0 :(得分:1)
我对这种情况有一些了解。 首先,你必须按照以下方式创建物理世界。
mPhysicsWorld = new PhysicsWorld(new Vector2(0,SensorManager.GRAVITY_EARTH),false);
这里,在上面的例子中,最后一个参数是allowSleep值。其中你必须传递假,以便任何box2d主体不会睡觉。
另一种情况,如果你移动用精灵附着的身体然后提供适当的速度来移动物体而不进行身体的转换。
答案 1 :(得分:0)
好的我明白了!身体在旋转,但由于
,我没有看到它PhysicsConnector(element, body, true, false)
(最后一个参数)。
这里的关键是设置常量旋转(为0):
body.setFixedRotation(true);