В SpriteKit у меня есть простое действие для моего спрайта:
sprite.size = CGSizeMake(40, 10);
sprite.physicsBody =[SKPhysicsBody bodyWithRectangleOfSize:sprite.size];
sprite.position = CGPointMake(65, 230);
SKAction *changeImage = [SKAction setTexture:[SKTexture textureWithImageNamed:@"raniSlide"]];
SKAction *wait = [SKAction waitForDuration:.1];
SKAction *changeImage2 = [SKAction setTexture:[SKTexture textureWithImageNamed:@"raniStick"]];
SKAction *sequence=[SKAction sequence:@[changeImage, wait, changeImage2]];
[sprite runAction:sequence];
Он меняет текстуры, ждет, затем снова меняет текстуры. Это так, что он утки в течение определенного периода времени. После приседания я хочу, чтобы он вернулся к исходному размеру. Когда я помещаю код изменения размера после команды runAction, он не выполняет первый sprite.size = CGSizeMake(40, 10) и вообще не уклоняется, так как остается того же размера, что и был в начало. Поэтому мне было интересно, как сделать оператор if, который, когда действие было завершено, меняет размер спрайта.