PhysicsWorld.setGravity(重力);

时间:2014-09-04 19:48:27

标签: android box2d andengine

enter image description here

我正在使用andengine和box2d扩展名 你看,我的物体从地面(红色矩形)飞到我的相机的屋顶(黄色),我不明白这个位置是什么

这是我的代码的一部分,

@Override
public EngineOptions onCreateEngineOptions() {
    final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);

    return new EngineOptions(true, ScreenOrientation.PORTRAIT_FIXED,
            new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);

}

也是这个

@Override
protected Scene onCreateScene() {

    this.mEngine.registerUpdateHandler(new FPSLogger());

    this.mScene = new Scene();
    this.mScene.setBackground(new Background(256, 256, 256));

    this.mPhysicsWorld = new PhysicsWorld(new Vector2(0,SensorManager.GRAVITY_EARTH),false);
    this.mScene.registerUpdateHandler(this.mPhysicsWorld);

1 个答案:

答案 0 :(得分:1)

我认为你只需要使用-SensorManager.GRAVITY_EARTH,就像这样:

this.mPhysicsWorld = new PhysicsWorld(new Vector2(0, -SensorManager.GRAVITY_EARTH),false);

在AndEngine AnchorCenter分支中,您必须使用负值作为重力,以使物理对象掉落,因为坐标系已更改。