Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何在精灵套件中使用SKAction和repeat forever缩放对象_Swift_Sprite Kit - Fatal编程技术网

Swift 如何在精灵套件中使用SKAction和repeat forever缩放对象

Swift 如何在精灵套件中使用SKAction和repeat forever缩放对象,swift,sprite-kit,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 */

我想不断增加屏幕上一个节点的高度,以实现我创建了一个
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   

        }
    }
假设bridge的高度为100,触摸屏幕后,高度将为150,这意味着increaseSize操作仅运行一次。

使用:

scaleYTo
操作会将节点缩放一次,使其y大小为1.5,然后继续将其从1.5无限缩放到其原始大小的1.5,这根本不起任何作用。
scaleXby:y:duration:
操作将增加相对比例,因此将永远继续缩放它。

使用:


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

谢谢,伙计,你只需要将scaleXby上的x设置为1而不是0(0将使节点消失),无论如何,只要可以,我将接受你的回答,再次感谢你的帮助!谢谢你,有一件事你需要把scaleXBy上的x设置为1而不是0(0会使节点消失),不管怎样,只要我可以,我会接受你的回答,再次感谢你的帮助!
let increaseSize = SKAction.scaleXBy(1, y: CGFloat(1.5), duration: 0.5)

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