首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libGDX:挂绳

libGDX:挂绳
EN

Stack Overflow用户
提问于 2013-03-15 20:53:53
回答 1查看 1.5K关注 0票数 2

我是一个新的android libGDX游戏引擎和搜索形式很多天来做一个悬绳,

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

有人能帮我做一根这样的绳子吗?Hanging Rope in Box2d

我也试着搜索一些好的安卓libGDX书籍,但是没有找到。

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

EN

回答 1

Stack Overflow用户

发布于 2013-03-16 17:34:35

只需在循环中创建一些矩形体(box2d中的setAsBox),并使用旋转关节相互连接(在循环前创建RevoluteJointDef,在循环内调用initialize(..))。

这是我的代码:

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15433047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档