android - libGDX:挂绳

标签 android libgdx game-engine

我是 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/

相关文章:

java - 在 libgdx 中传递平台特定代码 - nullpointerexception

javascript - 将屏幕坐标转换为等距 map 坐标

java - ExpandableListView 中最初展开的组

android - 使用信标在后台同步 Android 应用程序和 BLE

android - 创建 Android 签名证书 SHA-1 时如何解决此错误 'debug.keystore not found inside c:\Users\kulde\.android\'

从OO语言到C语言,如何避免循环依赖?

javascript - 任何 Javascript 库都可以按需进行本地镜像创建和渲染?

android - 检索电话首选项

java - LibGdx 纹理绘制为 #getTextureData 给出的逆纹理

java - OpenGL - 矩阵运算