我刚刚为游戏制作了我的角色,这是一个box2d动态的身体:
public Body createPlayer(){
Body body;
BodyDef def = new BodyDef();
def.type = BodyDef.BodyType.DynamicBody;
def.fixedRotation = true;
def.position.set(position.x, position.y);
body = world.createBody(def);
PolygonShape shape = new PolygonShape();
shape.setAsBox(1, 1);
FixtureDef fixtureDef = new FixtureDef();
fixtureDef.shape = shape;
fixtureDef.density = 0.1f;
body.createFixture(fixtureDef).setUserData(this);
body.setLinearVelocity(20, 0);
shape.dispose();
return(body);
}
是否可以在身体上添加纹理或精灵?或者我只是将精灵位置设置为与我身体的位置相同?这样它就会覆盖身体的形状并像实际的box2d身体一样移动。
答案 0 :(得分:2)
Box2D物理库完全与图形API无关 - 它根本不了解精灵。这是一个物理世界的无视觉(仅数据)模拟。
正如您所提到的,您必须创建一个Sprite并移动/旋转它以与Box2D模拟保持同步。
Here is a good beginners guide将精灵链接到Box2D模拟