我是 android libGDX 游戏引擎的新手,并且搜索了很多天来制作悬挂绳,
我也把Box2D的文档都看了一遍,有一个方法ropJoint但没有给出足够的解释来使用它。
任何人都可以帮我制作一根像这样的绳子吗? Hanging Rope in Box2d
我也尝试搜索一些适用于 Android 的好的 libGDX 书籍,但找不到。
需要您的帮助,请帮个忙。
最佳答案
只需在循环中创建一些矩形体(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
关于android - libGDX:挂绳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15433047/