我是Android libGDX游戏引擎的新手,并且在很多天里搜索表格来制作吊绳,
我还读出了所有Box2D文档,有一个方法ropJoint,但没有给出足够的解释来使用它。
任何身体都可以帮我制作像这样的绳子。 Hanging Rope in Box2d
我也试图为Android搜索一些好的libGDX书但找不到。
需要你的帮助,请帮忙。
答案 0 :(得分:2)
在循环中创建一些矩形体(box2d中的setAsBox)并使用旋转关节相互连接(在循环之前创建一个RevoluteJointDef并在内部循环调用initialize(..))。
这是我的代码:
RevoluteJointDef jd = new RevoluteJointDef();
Body prevBody = startBody;
for(int i=0; i<ringCount; i++)
{
BodyDef bd = new BodyDef();
bd.type = BodyType.DynamicBody;
bd.angle = angle-MathUtils.PI/2;
bd.position.set(position.x + i*MathUtils.cos(angle)*EACH_RING_DISTANCE,
position.y + i*MathUtils.sin(angle)*EACH_RING_DISTANCE);
Body body = world.createBody(bd);
body.createFixture(eachRingFD);
Vector2 anchor = new Vector2(bd.position.x - MathUtils.cos(angle)*EACH_RING_DISTANCE/2f,
bd.position.y - MathUtils.sin(angle)*EACH_RING_DISTANCE/2f);
jd.initialize(prevBody, body, anchor);
prevBody = body;
}
//connect a hanging shape to rope here if exists