2

我是 android libGDX 游戏引擎的新手,并且搜索表单很多天来制作挂绳,

我还阅读了所有 Box2D 文档,有一个方法ropJoint但没有给出足够的解释来使用它。

任何人都可以帮我做一根像这样的绳子吗?Box2d 中的吊绳

我还尝试为 android 搜索一些好的 libGDX 书籍,但找不到。

需要你的帮助,请帮个忙。

4

1 回答 1

2

只需在一个循环中创建一些矩形体(box2d 中的 setAsBox)并用旋转关节相互连接(在循环和内部循环调用初始化(..)之前制作一个 RevoluteJointDef)。

这是我的代码:

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
于 2013-03-16T09:34:35.160 回答