ios - 缩小我的世界 : Joints and their positions are not adjusted

标签 ios sprite-kit

这是我的设置:

  • SKScene 有一个名为 world 的节点
  • 在这个世界上,我附加了另一个节点:车辆
  • 我将三个节点附加到这辆车上;一个 body 和两个轮子
  • 轮子通过指定 anchor 的 SKPhysicsJointPin 连接到 body 上

现在,一切都很好,直到我缩小我的世界:

[_world runAction:[SKAction scaleTo:0.5 duration:0.75]];

我的车突然从车轮上抬起。看起来好像保持了与未放大世界中相同的距离。车辆的所有部分都适当缩放 - 除了到其部分的距离。

我是否也必须对我的关节应用缩放?还是我需要重置关节的 anchor ?

感谢您的帮助!

最佳答案

物理学没有尺度。更改节点的比例纯粹是一种视觉效果,它不会以任何方式改变物理。

即使您手动更新与节点比例同步的物理位置,您也会发现您无法缩放每个物体的形状,除非移除之前的物体并将其替换为具有相同形状的相应物体,只是缩放。在缩放 Action 期间,您必须在每一帧中完成并创建新的主体,这可能会导致严重的帧率问题。

关于ios - 缩小我的世界 : Joints and their positions are not adjusted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21313717/

相关文章:

iphone - 如何将一个项目添加到另一个项目(Xcode)

ios - 即使应用程序未运行,如何拥有一个可用的地理围栏?

ios - Sprite Kit - SKSpriteNode 绘制在错误的位置

ios - SKAction以顺时针方向跟随Circle CGPathRef

ios - 以编程方式创建形状 View 并在 Collection View 单元格上使用

ios - 当我们使用 ARC 或手动内存管理时,iOS 中的内存管理哪个更好?

ios - 通过用户设置自定义 ui 本地通知

swift - Spritekit - 以 NSException 类型的未捕获异常终止

ios - SpriteKit SKView 不再在 iOS 9 中的场景之间转换

swift - 未检测到球碰撞和 SKSpriteNode 碰撞?