【问题标题】:AndEngine gravity doesn't workAndEngine重力不起作用
【发布时间】:2012-11-05 00:32:25
【问题描述】:

大家好,我正在尝试让精灵在我的游戏中掉落。我搜索了整个网络,我这样做了:

    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() {}
    });

但是当我启动游戏时,精灵并没有掉下来!为什么 ??求求你了!!

【问题讨论】:

    标签: android andengine gravity


    【解决方案1】:

    Sprite 不使用物理,但 body 使用。您应该使用物理连接器(将您的精灵与您的身体连接起来):

    设置body变量:

    Body yourBody = PhysicsFactory.createBoxBody(mPhysicsWorld, main, BodyType.DynamicBody, objectFixtureDef);
    

    然后使用这个物理连接器:

    mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(main, yourBody, true, true));
    

    对不起我的英语。

    【讨论】:

    猜你喜欢
    • 2014-01-12
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 2013-05-06
    • 2015-02-03
    • 1970-01-01
    • 2017-07-02
    相关资源
    最近更新 更多