在昨天的示例中,您看到了如何创建一个简单的世界并使用WorldView进行显示,以及如何提供自定义渲染器。 现在,我们将添加一些用户输入。 我们将创建一个类似于弹球机中的鳍状肢的控件。
为此,我们将创建一个关节。 在JBox2D中,关节用于将物体约束到世界或彼此约束。 我们将创建一个静态圆形的Body,它将用作我们的鳍状肢的轴,并通过RevoluteJoint将Box绑定到它。
为了简化代码,我们首先定义一个JointBuilder基类和一个RevoluteJointBuilder:
public abstract class JointBuilder, T extends JointDef> {
protected World world;
protected T jointDef;
protected JointBuilder(World world, T jointDef) {
this.world = world;
this.jointDef = jointDef;
}
public K bodyA(Body a) {
jointDef.bodyA = a;
return (K) this;
}
public K bodyB(Body b) {
jointDef.bodyB = b;
return (K) this;
}
public K userData(Object userData) {
jointDef.userData = userData;
return (K) t