【问题标题】:SpriteKit scaling affects physicsSpriteKit 缩放影响物理
【发布时间】:2015-11-06 13:18:47
【问题描述】:

我通过重新缩放包含游戏中所有对象的根“世界”节点来实现缩放。然而,随着世界节点和子节点的尺寸更小,施加力现在具有更大的效果。

即使我以与我的世界节点相同的比例缩放力,它们仍然很大并且物体会飞。

我已经看到了一些非常忙碌的解决方案:

  • 缩放场景(但随后也会缩放叠加层)
  • 创建一个符合正常物理的全新不可见层,然后在其顶部创建一个可见层...

有没有更直接的方法来以某种方式使用世界节点来缩放物理世界?

【问题讨论】:

    标签: ios swift sprite-kit physics


    【解决方案1】:

    是的,不要为了缩放而缩放。请尝试调整大小

    myScene.scaleMode = SKSceneScaleModeAspectFill;

    然后在缩放时:

    myScene.size = CGSizeMake(myScene.size.width + dx, myScene.size.height + dy);

    *Apple Documentation says:

    将 scaleMode 属性设置为 SKSceneScaleModeResizeFill。 Sprite Kit 会自动调整场景的大小,使其始终与视图的大小相匹配。

    【讨论】:

    • 我已将我的捏合方法更改为缩放,但看起来物理学仍​​然在缩放。对于两个尺度,当力施加到 SKNode 时,我得到非常不同的速度。效果比使用规模要小,但仍然很明显。你知道为什么会这样吗??
    • 您的意思是您将方法更改为 RESIZING?因为你必须避免缩放。调整大小不应像您描述的那样影响物理世界
    • 无论缩放级别如何,您都使用完全相同的物理属性和力(而不是手动更改它们)?对?如前所述,调整场景大小不应影响物理世界。另外,我自己在我的游戏中使用这种方法,我没有看到任何差异。即使在物理世界“实时”时缩放也不行。
    • 您找到解决方案了吗?如果没有,您可以尝试制作一个简单的代码示例来揭示问题并在此处发布?
    • 是的,这最终解决了它。在您的游戏中,您有 HUD 吗?如果是这样,您是在单独的视图中呈现它还是在缩放场景时也缩放 HUD?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 2018-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多