簡體   English   中英

SKAction scaleBy:duration:SpriteKit

[英]SKAction scaleBy: duration: SpriteKit

我在使用[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次。

嘗試:

  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];

並非所有行動都是可逆的,反過來有時並不意味着“回到原始價值”。

如果您查看文檔 ,scaleBy的反向操作實際上是在您的情況下縮放到-0.2。 只需創建一個新的縮放操作而不是反轉。

同時嘗試制作第二次使用的動作副本:

SKAction *fullScale = [SKAction sequence:
                       @[scaleDown, scaleUp, [scaleDown copy], [scaleUp copy]]];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM