相关疑难解决方法(0)

SKAction:如何动画随机重复动作

我想SKAction在每次重复时运行重复但随机的值.我在这里读到了这个问题,显示了一种方法.但是,我希望我的精灵动作能够动画,而不是简单地改变它的位置.我提出的一个解决方案是运行一系列操作,最后一个动作以递归方式调用我的move方法:

- (void)moveTheBomber {
    __weak typeof(self) weakSelf = self;

    float randomX = //  determine new "randomX" position

    SKAction *moveAction = [SKAction moveToX:randomX duration:0.25f];
    SKAction *waitAction = [SKAction waitForDuration:0.15 withRange:0.4];
    SKAction *completionAction = [SKAction customActionWithDuration:0 actionBlock:^(SKNode *node, CGFloat elapsedTime) {
        [weakSelf moveTheBomber];
    }];

    SKAction *sequence = [SKAction sequence:@[moveAction, waitAction, completionAction]];

    [self.bomber runAction:sequence];
}
Run Code Online (Sandbox Code Playgroud)

递归调用这个方法对我来说感觉'icky',但鉴于我对SpriteKit的经验有限,似乎是最明显的实现方法.

如何在屏幕上永久动画精灵的随机移动?

ios sprite-kit

3
推荐指数
1
解决办法
2702
查看次数

标签 统计

ios ×1

sprite-kit ×1