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)