目前我的角色有这个 Action :
SKAction* action1 = [SKAction repeatActionForever:[SKAction animateWithTextures:textureArray timePerFrame:0.2]];
[_character runAction:action1];
然后在游戏过程中,在一个条件下,我需要改变角色的纹理以及他的 Action :
SKAction* action2 = [SKAction repeatActionForever:[SKAction animateWithTextures:textureArray2 timePerFrame:0.2]];
SKAction* changeTexture2 = [SKAction setTexture:[SKTexture textureWithImageNamed:@"newtexture"]];
[_character runAction:[SKAction sequence:@[changeTexture2,action2]]];
我可以看到具有旧纹理和 Action 1 的角色,然后在满足条件的情况下,他改变了纹理,但没有 Action 显示。 我尝试删除第一个 Action ,并进行了许多不同的更改,但我无法让他同时更改外观和 Action 。我真的不知道他们如何改变游戏中的 Action ?我试着谷歌,但我真的找不到任何合适的地方...... 谢谢!
最佳答案
尝试进行以下更改:
SKAction *action1 = ...
[_character runAction:action1 withKey:@"action1"];
之后:
[_character removeActionForKey:@"action1"];
[_character setTexture:[SKTexture textureWithImageNamed:@"newtexture"]];
SKAction *action2 = [SKAction animateWithTextures:textureArray2
timePerFrame:0.2]];
[_character runAction:[SKAction repeatActionForever:action2]];
关于ios - 如何改变 SpriteKit 中的 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22656835/