gpt4 book ai didi

android - AndEngine重力不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 09:04:07 26 4
gpt4 key购买 nike

大家好,我正在努力让 Sprite 在我的游戏中掉落。我在网上搜索了一下,然后我这样做了:

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

但是当我启动游戏时, Sprite 并没有掉下来!!为什么 ??拜托我很绝望!!

最佳答案

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

设置主体变量:

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

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

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

对不起我的英语。

关于android - AndEngine重力不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13224497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com