Android 发动机重力不';行不通
大家好,我想让一个精灵在我的游戏中坠落。我搜索了整个网络,我做到了:Android 发动机重力不';行不通,android,andengine,gravity,Android,Andengine,Gravity,大家好,我想让一个精灵在我的游戏中坠落。我搜索了整个网络,我做到了: scene = new Scene(); main = new Sprite(sX, sY, mainTextureRegion); main.setScale(1); main.setFlippedHorizontal(true); scene.attachChild(main); mPhysicsWorld = new PhysicsWorld(new Vector2(0,
scene = new Scene();
main = new Sprite(sX, sY, mainTextureRegion);
main.setScale(1);
main.setFlippedHorizontal(true);
scene.attachChild(main);
mPhysicsWorld = new PhysicsWorld(new Vector2(0, SensorManager.GRAVITY_EARTH), false);
final FixtureDef objectFixtureDef = PhysicsFactory.createFixtureDef(1, 0.5f, 0.5f);
final Body body = PhysicsFactory.createBoxBody(mPhysicsWorld, main, BodyType.DynamicBody, objectFixtureDef);
mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(main, body, true, true));
final Vector2 gravity = new Vector2(0, 5f);
mPhysicsWorld.setGravity(gravity);
scene.registerUpdateHandler(new IUpdateHandler() {
@Override
public void onUpdate(float pSecondsElapsed) {
mPhysicsWorld.onUpdate(pSecondsElapsed);
}
@Override
public void reset() {}
});
但是当我启动游戏时,精灵并没有倒下!!为什么?求你了,我绝望了 精灵不使用物理,但身体使用物理。你应该使用物理连接器(它将你的精灵与你的身体连接起来): 设置body变量:
Body yourBody = PhysicsFactory.createBoxBody(mPhysicsWorld, main, BodyType.DynamicBody, objectFixtureDef);
然后使用此物理连接器:
mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(main, yourBody, true, true));
对不起,我的英语不好。-看这里,这是一个基本的例子。我使用的是GLES1版本:)非常感谢你的帮助,我终于找到了一篇解释如何做到这一点的帖子。。见我编辑的帖子