【发布时间】:2015-03-09 02:13:22
【问题描述】:
我对 Andengine Box2d 扩展有疑问。
我有 2 个矩形:base 和 fuelStation。
fuelStation 是 base 的孩子。当我使用 setTransform 方法旋转 base 时,fuelStation sprite 也在旋转,但 body 保持在相同的位置。
base = new Rectangle(CAMERA_WIDTH / 2, CAMERA_HEIGHT / 2 - 200, 200, 200, vbom);
fuelStation = new Rectangle(base.getWidth() / 2, 0, 500, 10, vbom);
this.attachChild(base);
base.attachChild(fuelStation);
final FixtureDef objectFixtureDef1 = PhysicsFactory.createFixtureDef(1, 0.0f, 0.5f);
final FixtureDef objectFixtureDef2 = PhysicsFactory.createFixtureDef(1, 0.0f, 0.5f);
baseBody = PhysicsFactory.createBoxBody(physicsWorld, base, BodyType.StaticBody, objectFixtureDef1);
baseBody.setUserData("base");
fuelStationBody = PhysicsFactory.createBoxBody(physicsWorld, fuelStation, BodyType.KinematicBody, objectFixtureDef2);
fuelStationBody.setUserData("station");
physicsWorld.registerPhysicsConnector(new PhysicsConnector(base, baseBody, true, true));
// physicsWorld.registerPhysicsConnector(new PhysicsConnector(fuelStation, fuelStationBody,
// true, true));
当我从最后一行删除注释时 - 精灵位置发生变化但仍无法正常工作(身体静止不动)。
这两个身体如何正确连接?
【问题讨论】:
-
你是如何测试身体不移动而精灵移动的?