libGDX:用一些枢轴打结的吊绳

2024-02-18

我正在尝试在 libGDX 中制作一根在其下端有一些物体的悬挂绳, 绳子应该是这样的Box2D中的挂绳 http://www.emanueleferonato.com/2009/10/05/basic-box2d-rope/

我做了很多研究,libGDX 有它的绳索接头 http://libgdx.l33tlabs.org/docs/api/com/badlogic/gdx/physics/box2d/joints/RopeJoint.html方法,但是如何用它来制作绳子呢?

请帮忙,这将是一个很大的帮助。


我从类似问题的答案开始libGDX:挂绳 https://stackoverflow.com/questions/15433047/libgdx-hanging-rope?answertab=active#tab-top

并向其中添加了一些代码以添加一些缺失的代码并修复锚点中的一些问题,我认为以下代码适合目标问题:

    BodyDef ropeStartDef = new BodyDef();
    int EACH_RING_DISTANCE = 10
    ropeStartDef.type = BodyType.StaticBody;
    ropeStartDef.position.set(m_camera.viewportWidth/2,m_camera.viewportHeight );
    Body ropStartBody = m_world.createBody(ropeStartDef);
    PolygonShape ropeStartShape = new PolygonShape();
    ropeStartShape.setAsBox(5, 5);
    ropStartBody.createFixture(ropeStartShape, 0);
    ropeStartShape.dispose();
    //----------------------------
    RevoluteJointDef jd = new RevoluteJointDef();
    Body prevBody = ropStartBody;
    int angle = -90;
    Vector2 position = ropeStartDef.position;
    BodyDef previousbodyDefinition= ropeStartDef;
    for(int i=0; i<5; 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 = m_world.createBody(bd);
            FixtureDef eachRingFD;
            eachRingFD = new FixtureDef();
            CircleShape chainCircleshape =new CircleShape();
            chainCircleshape.setRadius(4);
            eachRingFD.density = 2;
            eachRingFD.shape =chainCircleshape;
            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);
            //-----------------------added based on http://www.emanueleferonato.com/2009/10/05/basic-box2d-rope/
                RevoluteJointDef joint = new RevoluteJointDef();
                joint.initialize(prevBody, body, anchor);
                m_world.createJoint(joint);

            //------------------------end of added
            prevBody = body;
            previousbodyDefinition = bd;
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

libGDX:用一些枢轴打结的吊绳 的相关文章

  • Android 滚动分页

    Android 操作系统有可以实现滚动分页的功能吗 Edit滚动分页是指像主屏幕上一样的分页 您可以左右滑动并转到下一页或上一页 您可以在 android git kernel org 上查看 Launcher 的源代码作为示例 查找名为
  • android中.so文件的实际用途是什么? [复制]

    这个问题在这里已经有答案了 我想在我的应用程序中实现类似聊天的环聊 我一直在使用 opentok 库 我在其中看到了 libopentok so 文件 谁能告诉我 libopentok so 文件的确切用法是什么 在Android中 我们可
  • 从当前位置出发的移动网络行车路线

    我正在构建一个网站的移动版本 试图通过一键式链接来启动 Google 地图 并提供从用户当前位置到企业的行车路线 我让它在 iPhone 上运行良好 但在 Android 上测试时 它会查看 Current 20Location 并尝试查找
  • __stack_chk_fail_local 和 -fno-stack-protector - 如何让它工作?

    Update 我刚刚发现问题出在我的项目 libxml2 中包含的预构建库上 它是在启用堆栈保护的情况下构建的 因此依赖于 stack chk fail local方法 我现在已经重建了该库 fno stack protector也是 一切
  • 如何在 Android 应用程序中使用 xmlserializer 创建 xml

    您好 我正在制作一个预订应用程序 我需要在创建 xml 后将 xml 发送到服务器 如何使用创建 xmlxmlserializer创建后将其发送到服务器 http api ean com ean services rs hotel v3 l
  • 如何计算android中位图擦除区域的百分比?

    我是安卓新手 我正在制作一个可以使用手指擦除画布上的位图的应用程序 像手指画橡皮擦之类的东西 我想计算擦除区域的百分比 例如 60 已从完整图像中擦除 请帮助我做到这一点 提前致谢 我尝试了一些方法 它总是给我 0 它不起作用 请参阅该方法
  • 像 Google Play 商店一样在垂直 RecyclerView 中动态不同图像水平 RecyclerView

    我一直在关注这个教程 http android pratap blogspot co za 2015 12 horizo ntal recyclerview in vertical html http android pratap blog
  • 为什么 Android Eclipse 不断刷新外部文件夹并花费很长时间?

    我只有一部新的 Android 手机 我一直在修补一些基本的应用程序 每当我保存任何内容时 Eclipse 的 Android 插件就会刷新外部文件夹 这让我抓狂 通常我不会介意 但当需要 10 秒才能刷新时 我开始注意到 我已经搜索过 其
  • 在路径上找不到类:DexPathList?

    当我在 android studio 中使用 USB 在真实设备中测试时 我的应用程序工作正常 但是当我将 apk 发送到另一台设备并在那里安装时 它无法工作 应用程序崩溃了 我没有找到任何正确的方法来解决问题 错误如下 FATAL EXC
  • Eclipse Oxygen - 该项目未构建,因为其构建路径不完整

    我刚刚安装了 Eclipse Oxygen 并尝试在工作台中打开现有项目 但收到此错误 该项目未构建 因为其构建路径不完整 不能 找到 java lang Object 的类文件 修复构建路径然后尝试 建设这个项目 我尝试右键单击该项目 转
  • 在 libgdx 中渲染 box2d

    我有一个使用 FitViewport 的大小为 800x480 的游戏世界 并且最初使用像素渲染 box2d 实体 固定装置 因此所有物理效果都显得浮动且缓慢 查看文档后 我意识到 box2d 使用度量单位 因此我将 box2d 位置和大小
  • 如何使用Multipart将图像上传到php服务器

    我一直很头疼 如何将图像上传到服务器 这对我来说是新任务 但对我来说很困惑 我在 stackoverflow 上搜索并用谷歌搜索 但我遇到了问题 我的意图是从 SD 卡上传照片并从相机拍照并上传到服务器 在ios中 这个任务已经完成 在io
  • JaCoCo 显示 0% 覆盖率,即使所有测试均已通过

    我在下面写了一些测试用例androidTest目录 我正在使用 androidx testInstrumentationRunner androidx test runner AndroidJUnitRunner 添加的依赖项 androi
  • Facebook 好友请求 - 失踪好友

    我请求从我正在开发的 Android 应用程序中获取用户好友 从 Facebook Api V2 0 开始 我知道我应该只获取已经通过我的应用程序登录的用户好友 但是 尽管我知道用户的某些朋友已通过我的应用程序登录 但在请求该用户的朋友时
  • Android studio 找不到 Theme.AppCompat.Light.DarkActionBar [重复]

    这个问题在这里已经有答案了 我已经导入了一个Android Studio项目来自Github into Android Studio 虽然我的build gradle有dependencies dependencies compile fi
  • 如何使 Edittext 大小保持不变?安卓

    我知道使 Edittext 左侧的文本 消失 以保持单行的属性 singleLine true 但我的问题是 当我在显示视图之前填充编辑文本时 在这种情况下 我的编辑文本都超出了屏幕 有任何想法吗 谢谢 这是填充空的 Edittext 时得
  • 自定义支持对话框片段文本颜色错误

    如果我放一个TextView在自定义对话框中 文本默认为黑色 不幸的是 支持片段对话框背景是深灰色的 灰底黑字很难读 我可以改变TextView白色或类似的东西android textColor android attr textColor
  • 使用 LinearLayout 将按钮放在屏幕底部?

    我有以下代码 如何使 3 个按钮位于底部
  • android 填充包含片段的布局

    问题是什么 我如何膨胀包含片段的布局 我不知道错误消息的含义 请帮我 谢谢 错误信息 09 01 18 44 58 698 E AndroidRuntime 20617 Caused by java lang IllegalArgument
  • Android Webview:无法调用确定的可见性() - 从未见过 pid 的连接

    我有一个 Android Webview 当我单击链接下载文件 pdf 图像等 时 我收到一条错误消息 Error message Cannot call determinedVisibility never saw a connectio

随机推荐

  • spring - 使用谷歌番石榴缓存

    我试图在我的 Spring 应用程序中使用谷歌番石榴缓存 但结果永远不会缓存 这是我的步骤 在conf文件中 EnableCaching Configuration public class myConfiguration Bean nam
  • 如何解释“grid-template-rows: auto auto 1fr auto”?

    最近 我使用创建了一个布局CSS grid https www w3 org TR css grid 1 虽然这很有效 但我对它的工作原理感到困惑 具体来说 我对这条线感到困惑grid template rows auto auto 1fr
  • 使用 Logback MDC 进行 Spring Boot ErrorController 日志记录

    更新 我的问题似乎与this one https stackoverflow com q 55146885 4506703 但没有有效的答案 我正在尝试登录 Spring BootErrorController 但它的日志没有 MDC 值
  • Swift 可变字典被视为不可变

    我正在尝试实施应用内购买 并且正在跟踪用户通过哪些购买进行了购买NSUserDefaults 我有一个设置每次购买的值的函数 但是当它运行时 我收到一条错误消息 指出我正在改变购买值的字典 即使该字典是用var代替let并且是一个NSMut
  • Windows Phone中如何设置TextBlock的背景图片?

    我在 Windows Phone 中设置文本块背景时遇到问题
  • Java 中双精度值的四舍五入

    目前我正在使用 DecimalFormat 类来舍入双精度值 double d 42 405 DecimalFormat f new DecimalFormat 00 System out println f format d output
  • Swagger 编辑器如何指定请求正文(POST)中的哪些字段是必需的?

    我正在尝试在在线 Swagger 编辑器中的用户类上定义 POST 方法 我希望能够在请求正文中指定多个字段 并且我希望生成的文档能够反映只有 2 个字段是必需的 其他是可选的 我必须做什么 改变才能做到这一点 我已经尝试过使用 requi
  • 管理 mnesia DBMS 中的增量计数器?

    我意识到 mnesia 不像 MySQL 或其他 RDBMS 那样支持自动增量功能 mnesia 文档中谈到的计数器并没有得到很好的解释 例如 到目前为止 我在整个文档中发现了一个操作计数器的函数 mnesia dirty update c
  • 检查 Python 列表中是否存在某个键

    假设我有一个可以包含一个或两个元素的列表 mylist important comment or mylist important 然后我想要一个变量作为标志 具体取决于第二个值是否存在 检查第二个元素是否存在的最佳方法是什么 我已经使用了
  • 流式操作符与延迟执行有何不同?

    In LINQ Where是一个流媒体运营商 然而OrderByDescending是一个非流操作符 AFAIK 流媒体运营商仅收集下一个必要的项目 非流式运算符立即评估整个数据流 我看不出定义流操作符的相关性 对我来说 延迟执行是多余的
  • 如何将 autoconf/automake 指向非标准包

    我正在尝试在 RedHat Linux 机器上构建 ZooKeeper ZooKeeper 到底是什么可能并不重要 当我按照包装说明进行操作时 我得到 autoreconf if aclocal configure ac 33 warnin
  • 使用RabbitMQ(Java客户端),有没有办法确定消费期间网络连接是否关闭?

    我在 RHEL 5 3 上使用 Java 客户端使用 RabbitMQ 我有 2 个节点 机器 Node1 正在使用 Java 帮助器类 QueueingConsumer 消费 Node2 上队列中的消息 QueueingConsumer
  • 在 R SF 中交叉大型空间数据集

    我有两个空间数据集 一个数据集包含许多多边形 总共超过 150k 指定不同的特征 如河流 植被 另一个数据集包含更少的指定不同区域的多边形 500 我需要将这两个数据集相交以获得不同区域的特征 我可以根据不同的特征对第一个数据集进行子集化
  • 需要从汇编中的字符串中删除所有非字母元素

    通过编写此汇编代码 我无法使用此选项来删除非字符字母 它将遍历字符串并进行所有比较 然后显示相同的字符串 且不删除任何非字符 我正在尝试将字母字符放入 tempString 中 然后将其移动到 edx 进行显示 它接受一个字符串并删除所有非
  • 我的代码是否阻止目录遍历?

    来自 Python WSGI 应用程序的以下代码片段可以安全地进行目录遍历吗 它读取作为参数传递的文件名并返回指定的文件 file name request path params file file open file name rb m
  • Clojure 应用映射和关键字参数销毁

    考虑具有以下签名的函数 defn make widget keys x y or x 10 y 20 将映射传递给函数的最佳方法是什么 例如 make widget x 100 or make widget y 200 x 0 我目前想到的
  • 正则表达式来验证逗号分隔的电子邮件地址?

    我需要验证电子邮件地址 可以是单个或多个以逗号分隔的地址 在我在正则表达式验证器中使用如下表达式之前 string exp w w w w w w 它正在验证多个或一个电子邮件地址 但同样的表达式在 C 中没有验证 它也表示对无效地址有效
  • IIS7-请求过滤模块配置为拒绝超过请求内容长度的请求

    我想上传图像 它在我的机器上运行良好 但是当我将我的网站放在 IIS7 服务器上供公众使用时 我无法上传任何内容 Error 请求过滤模块 用于拒绝以下请求 超过请求内容长度 最可能的原因 在Web服务器上配置请求过滤以拒绝请求 因为内容长
  • 如何为编辑操作指定 devise_parameter_sanitizer?

    我已将 Devise 添加到我的 Rails 4 应用程序中 并成功将用户名等添加到我的用户模型中 此外 我可以使用惰性方式存储这些字段 即 class ApplicationController lt ActionController B
  • libGDX:用一些枢轴打结的吊绳

    我正在尝试在 libGDX 中制作一根在其下端有一些物体的悬挂绳 绳子应该是这样的Box2D中的挂绳 http www emanueleferonato com 2009 10 05 basic box2d rope 我做了很多研究 lib