SpriteKit - 从右到左缩放节点X

5

我有一个SKNode,它是一个加载条。这个条应该从右到左缩小。为了实现这个目的,我使用了以下代码:

let loadBarNode = self.childNodeWithName("loadBar")

    if loadBarNode != nil{

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

    }

当我运行这段代码时,会出现以下情况: What happens when code runs. 我想知道如何将形状从右到左缩小,就像这样: It's supposed to look like this. 感谢任何帮助!
3个回答

4
我认为一个更简单的解决方案是改变你节点的锚点。
loadBarNode.anchorPoint = CGPointMake(0.0, 0.5)

缩放是基于节点的锚点进行的,这将导致节点向右扩展。


3
创建一个SKAction序列,其中包含倒计时动作和移动X的SKAction。

class func moveToX(_ x: CGFloat, duration sec: NSTimeInterval) -> SKAction

因此,当您的加载栏缩小时,您希望通过缩小距离的一半来偏移X。

@sangony 实际上,再次思考后...它们需要同时运行。那么一个序列会起作用吗?但还是谢谢你的赞美,先生! - maelswarm
1
使用块同时执行两个操作。 - sangony
@sangony,你能否请更详细地解释一下自己的意思? - Omar Dlhz
1
@OmarDlhz - 你可以像Roecrew建议的那样缩放和移动你的节点,但是必须同时进行。这里有一个使用块的示例:http://stackoverflow.com/questions/29354494/how-should-i-resize-label-nodes-in-spritekit/29354830#29354830 - sangony

0

我同意更改锚点,但对于那些不熟悉此锚点的人需要更多的信息。它与节点的位置不同,您可以使用Storyboard来更改节点的锚点,而无需编程实现。以下是具体方法:

enter image description here

希望它可以提供更多信息。谢谢。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接