Android 如何在andengine中将一个碰撞器拆分为两个不同的长方体碰撞器
我有一个非常简单的雪碧,上半部分厚,下半部分薄。我在上面贴了一个盒子。现在的问题是,当物体被视为矩形时,即使物体没有接触下半部的精灵,也会发生碰撞。我想要做的就是修改上部和底部的碰撞器宽度。有人能告诉我怎么做,最好的方法是什么吗?车身可以由多个固定装置组成,因此您可以制作两个固定装置,一个用于上半部,一个用于下半部,然后将它们都添加到车身中 例如,如果要将下半部分做成2x4矩形,将上半部分做成4x4矩形,可以执行以下操作:Android 如何在andengine中将一个碰撞器拆分为两个不同的长方体碰撞器,android,box2d,andengine,game-physics,Android,Box2d,Andengine,Game Physics,我有一个非常简单的雪碧,上半部分厚,下半部分薄。我在上面贴了一个盒子。现在的问题是,当物体被视为矩形时,即使物体没有接触下半部的精灵,也会发生碰撞。我想要做的就是修改上部和底部的碰撞器宽度。有人能告诉我怎么做,最好的方法是什么吗?车身可以由多个固定装置组成,因此您可以制作两个固定装置,一个用于上半部,一个用于下半部,然后将它们都添加到车身中 例如,如果要将下半部分做成2x4矩形,将上半部分做成4x4矩形,可以执行以下操作: PolygonShape bottomHalfShape = n
PolygonShape bottomHalfShape = new PolygonShape();
bottomHalfShape.set(new Vector2[] {new Vector2(2, 0), new Vector2(4, 0), new Vector2(4, 4), new Vector2(2, 4)});
PolygonShape topHalfShape = new PolygonShape();
topHalfShape.set(new Vector2[] {new Vector2(0, 4), new Vector2(4, 4), new Vector2(4, 8), new Vector2(0, 8)});
FixtureDef bottomHalf = new FixtureDef();
bottomHalf.shape = bottomHalfShape;
FixtureDef topHalf = new FixtureDef();
topHalf.shape = topHalfShape;
body.createFixture(bottomHalf);
body.createFixture(topHalf);
请注意,这是libGDX的示例代码,对于AndEngine可能需要稍微修改。使用此函数创建实体时,我是否不必删除默认开发的形状最终实体b=PhysicsFactory.createBoxBody(physicsWorld,MY_SPRITE,BodyType.KineticBody,objectFixtureDef)@RohitGoyal是的,一旦你使用完所有你创建的形状,你就必须销毁它们。你能告诉我怎么做吗?找不到任何可以告诉我默认形状并将其销毁的函数。@RohitGoyal抱歉,在AndEngine中,似乎您不必这样做。