我正在使用Sprite Kit构建一个游戏,其中一个精灵正在从左到右移动,具有无尽的动作。
SKAction *moveRight = [SKAction moveByX:3.0 y:0 duration:3.5];
SKAction *moveLeft = [SKAction moveByX:-3.0 y:0 duration:3.5];
SKAction *reversedMoveRight = [moveRight reversedAction];
SKAction *reversedMoveLeft = [moveLeft reversedAction];
SKAction *completion = [SKAction runBlock:^{
SKAction *sequence = [SKAction sequence:@[moveRight, moveLeft, reversedMoveRight,reversedMoveLeft]];
SKAction *endlessAction = [SKAction repeatActionForever:sequence];
[snake runAction:endlessAction];
}];
[snake runAction:completion withKey:@"KeySnake"];
这个方法可以实现功能,但是过了一段时间后我的游戏开始变慢。在Xcode的调试导航器中,CPU和内存使用量持续增长。我认为无限循环的操作是问题的根源,但是我不知道其他方法来实现我想要的连续移动。