#ios #objective-c #sprite-kit
#iOS #objective-c #sprite-kit
Вопрос:
Как я могу указать циклу обхода продолжать анимацию до тех пор, пока NSNumber с флагом bool не остановит его? А также удалить SKSpriteNode с SKTexture со сцены?
SKSpriteNode *walk = [SKSpriteNode spriteNodeWithTexture:[_walkTextures objectAtIndex:0]];
walk.zPosition = 100;
walk.scale = spliffScale;
walk.position = location;
[self addChild:walk];
SKAction *walkAction = [SKAction animateWithTextures:_walkTextures timePerFrame:0.03];
SKAction *remove = [SKAction removeFromParent];
[walk runAction:[SKAction sequence:@[walkAction, walkAction, remove]]];
Комментарии:
1. это из раздела touchesBegan
2. просто: [walk removeFromParent] … нет необходимости останавливать анимацию, если вы удалите спрайт. Кроме того, чтобы быть точным: SKTextureAtlas не анимирует. Спрайт можно анимировать, часто изменяя его текстуры, которые могут быть подтекстрами SKTextureAtlas. В лучшем случае вы могли бы сказать «как заставить SKSpriteNode прекратить анимацию». 😉