【问题标题】:Corona SDK completely destroy physics jointCorona SDK 彻底摧毁物理关节
【发布时间】:2014-11-07 13:18:48
【问题描述】:

我正在 Corona sdk 中制作一个游戏,其中不同的球弹跳并通过焊接接头相互粘连。当我重置游戏玩法时,所有关节都被破坏,然后所有球都重新定位。这是我的一些代码:

--stickJoints and balls are tables that contain all the weld joints and ball objects
resetTotal = function()
    for i=1,#stickJoints do
        stickJoints[i]:removeSelf()
        stickJoints[i]=nil
    end
    for i=1,20 do
        --this resets all balls and sets linear and angular velocity to 0
        resetP(balls[i],1000+(i-1)*400,5000,0)
    end
end

问题是,当我点击重置按钮时,连接的球会暂时相互交互。任何想法都是有帮助的。谢谢!

【问题讨论】:

  • 在重置前尝试physics.pause()...
  • 你最后一段没有说清楚:什么是症状,发生了什么不应该发生的事情,瞬间的互动会导致什么。
  • @Schollii 对不起,球会咬合在一起,好像关节还没有被破坏,但之后马上就被破坏了。当我暂停物理并将其设置为调试绘制模式时,重新定位球后关节仍然存在,并且仅在物理再次启动后才会破坏

标签: lua coronasdk physics


【解决方案1】:

我认为你最好的选择是

  1. 使用timer.performWithDelay 调用一个函数,该函数将在物理有机会打破约束后重新定位球。
  2. 从物理中删除每个球,并在重新定位后使用延迟函数校准(参见第 1 项)重新添加它们。

【讨论】:

    猜你喜欢
    • 2022-07-22
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多