代码之家  ›  专栏  ›  技术社区  ›  slugz

分离的skspritenodes上的平行skactions

  •  0
  • slugz  · 技术社区  · 6 年前

    我正试图同时在3个不同的节点上运行skaction。我研究过skaction.group,但我能找到的只是在同一个节点上运行并行skaction,而不是在不同的节点上。

    例如,如果我这样写的话,我需要3个skspritenodes同时向左移动150pt:

    nodeOne.run(SKAction.moveBy(x: 0-150, y: 0, duration: 0.25));
    nodeTwo.run(SKAction.moveBy(x: 0-150, y: 0, duration: 0.25));
    nodeThree.run(SKAction.moveBy(x: 0-150, y: 0, duration: 0.25));
    

    可以用肉眼观察到这些动作不平行,随后的动作明显滞后于几帧。是否可以在单独的节点上并行运行skAction?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Steve Ives    6 年前

    延迟可能来自于创建3个单独的skAction,所有这些skAction都是相同的。尝试在“didmove(to:)”中创建一个单独的“moveby”skaction:

    let moveAction = SKAction.moveBy(x: -150, y: 0, duration: 0.25))
    

    然后在3个节点上运行该操作:

    nodeOne.run(moveAction)
    nodeTwo.run(moveAction)
    nodeThree.run(moveAction)