如何使用SKAction缩放对象,并在Sprite Kit中永远重复

时间:2014-11-15 01:15:14

标签: swift sprite-kit

我希望不断增加屏幕上节点的高度,以实现我创建SKAction以缩放Y,并在用户触摸屏幕后永久重复应用,这是代码:

var increaseSize = SKAction.scaleYTo(CGFloat(1.5), duration: 0.5)

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        /* Called when a touch begins */
        //BRIDGE is a rectangular SKSpriteNode        

        for touch: AnyObject in touches {
          bridge.runAction(SKAction.repeatActionForever(increaseSize)) //BRIDGE is a rectangular SKSpriteNode   

        }
    }

让我们说桥梁高度为100,触摸屏幕后,高度将为150,这意味着increaseSize动作,只运行一次。

1 个答案:

答案 0 :(得分:4)

使用+ scaleXBy:y:duration:

let increaseSize = SKAction.scaleXBy(1, y: CGFloat(1.5), duration: 0.5)

... // the rest of your code (no need to change it)

scaleYTo操作会将节点缩放到y <1.5> 一次,然后继续将其从原始大小的1.5到1.5无限缩放,这根本不做任何事情。 scaleXby:y:duration:操作会增加相对比例,因此会继续永久缩放。