【发布时间】:2015-09-27 21:48:24
【问题描述】:
我正在使用 GDX 和 Box2D 制作一款太空射击水平滚动类型的游戏。我无法弄清楚子弹如何根据所看的方向向前移动。例如,如果子弹向右看,我使用 applyLinearImpulse,但如果子弹向上看,它就不起作用,它会一直向右移动。
这是子弹对象的代码
BodyDef bd = new BodyDef();
bd.bullet = true;
bd.fixedRotation = true;
bd.position.set(v);
bd.type = BodyType.KinematicBody;
bd.fixedRotation = true;
CircleShape circle = new CircleShape();
circle.setRadius(SIZE);
FixtureDef fd = new FixtureDef();
fd.shape = circle;
fd.isSensor = true;
World world = Game.level.getWorld();
body = world.createBody(bd);
@SuppressWarnings("unused")
Fixture fixture = body.createFixture(fd);
body.setTransform(body.getPosition(), magnitude);
body.setLinearVelocity(SPEED, 0);
circle.dispose();
【问题讨论】: