【问题标题】:SpriteKit - Scale node to X from right to leftSpriteKit - 从右到左将节点缩放到 X
【发布时间】:2015-04-06 19:52:36
【问题描述】:

我有一个 SKNode,它是一个负载条。该条应该从右向左收缩。为此,我使用以下代码:

let loadBarNode = self.childNodeWithName("loadBar")

    if loadBarNode != nil{

       let countdown = SKAction.scaleXTo(0, duration: 3)
        loadBarNode?.runAction(countdown)

    }

当我运行这段代码时,会发生这种情况:

我想知道如何从右向左缩小形状,像这样:

感谢任何帮助!

【问题讨论】:

    标签: ios swift xcode6 sprite-kit


    【解决方案1】:

    我相信更简单的解决方案是更改节点的锚点。

    loadBarNode.anchorPoint = CGPointMake(0.0, 0.5)
    

    缩放基于节点的锚点,这会导致它向右扩展。

    【讨论】:

      【解决方案2】:

      制作一个包含倒计时动作的 SKAction 序列,以及一个移动 X 的 SKAction。

      类函数 moveToX(_ x: CGFloat, 持续时间秒:NSTimeInterval) -> SKAction

      因此,当您的负载条缩小时,您希望将 X 偏移缩小距离的一半。

      【讨论】:

      • @sangony 实际上,在再次考虑之后......他们需要同时运行。那么序列会起作用吗?不过,还是谢谢你的赞美好先生!
      • 使用一个块同时做这两件事。
      • @sangony 你能解释清楚一点吗?
      • @OmarDlhz - 您可以按照 Roecrew 的建议扩展和移动节点,但正如他所说,它必须同时进行。以下是如何使用块的示例:stackoverflow.com/questions/29354494/…
      【解决方案3】:

      我同意更改锚点,但为新使用此锚点的人提供更多信息。它与节点的位置不同,您可以使用情节提要来更改节点的锚点,而不是以编程方式进行。就是这样:

      希望它能提供更多信息。谢谢。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-04
        相关资源
        最近更新 更多