我尝试使用[SKAction scaleBy: duration:]
SKAction *scaleDown = [SKAction scaleBy:0.2 duration:1.8];
SKAction *scaleUp= [scaleDown reversedAction];
SKAction *fullScale = [SKAction sequence:@[scaleDown, scaleUp, scaleDown, scaleUp]];
[_circleChanging runAction:fullScale];
我得到的是圆圈变得如此之小以至于消失然后又不会回来。它必须变小,然后再回到原来的大小做2次。
答案 0 :(得分:3)
尝试:
SKAction *scaleDown = [SKAction scaleTo:0.2 duration:0.75];
SKAction *scaleUp= [SKAction scaleTo:1.0 duration:0.75];
SKAction *fullScale = [SKAction repeatActionForever:[SKAction sequence:@[scaleDown, scaleUp, scaleDown, scaleUp]]];
[_circleChanging runAction:fullScale];
答案 1 :(得分:2)
并非所有行动都是可逆的,反过来有时并不意味着“回到原始价值”。
如果你check the documentation,scaleBy的反向动作实际上是在你的情况下缩放到-0.2。只需创建一个新的缩放操作而不是反转。
同时尝试复制第二次使用的动作:
SKAction *fullScale = [SKAction sequence:
@[scaleDown, scaleUp, [scaleDown copy], [scaleUp copy]]];