簡體   English   中英

iOS在重復動作中更改SKAction速度

[英]iOS Changing SKAction speed in repeating action

我已經讀過幾篇文章了,改變SKAction的speed變量會改變速度。 但是,這似乎不適用於我。

- (void)startAnimating {
    SKAction *moveDown = [SKAction moveByX:0 y:-[CAUtilities screenSize].height duration:self.animationDuration];
    [self setMoveDownAction:[SKAction repeatActionForever:moveDown]];
    [self runAction:self.moveDownAction];
}

- (void)incAnimationSpeedBy:(CGFloat)aFloat {
    self.moveDownAction.speed += 0.5;
    NSLog(@"%f", self.moveDownAction.speed);
}

NSLog調用所示, self.moveDownAction.speed的實際值self.moveDownAction.speed更改,但實際動畫不會更改。

我有incAnimationSpeedBy:輕按屏幕時會被調用,因此將SKAction序列與runBlock配合使用將無法滿足我的需求。

我試過了:

  • 將初始moveDown作為實例變量。
  • 將永遠重復動作作為實例變量(如上所示)。
  • 更改duration屬性而不是speed

任何幫助表示贊賞,謝謝。

問題是我本該在父SKSpriteNode上更改速度時,嘗試更改不同SKAction對象上的速度。

- (void)startAnimating {
    SKAction *moveDown = [SKAction moveByX:0 y:-[CAUtilities screenSize].height duration:3.0];
    [self runAction:[SKAction repeatActionForever:moveDown]];
}

- (void)incAnimationSpeedBy:(CGFloat)aFloat {
    if (self.speed + aFloat < kMaxSpeed)
        self.speed += aFloat;
}

暫無
暫無

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

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