目前我的角色正在采取行动:
SKAction* action1 = [SKAction repeatActionForever:[SKAction animateWithTextures:textureArray timePerFrame:0.2]];
[_character runAction:action1];
然后在游戏中,在某种情况下,我需要改变角色的纹理以及他的动作:
SKAction* action2 = [SKAction repeatActionForever:[SKAction animateWithTextures:textureArray2 timePerFrame:0.2]];
SKAction* changeTexture2 = [SKAction setTexture:[SKTexture textureWithImageNamed:@"newtexture"]];
[_character runAction:[SKAction sequence:@[changeTexture2,action2]]];
我可以看到带有旧文字和动作1的角色,然后在满足条件时,他改变了纹理,但没有动作显示。 我尝试删除第一个动作,以及许多不同的改变,但我不能让他改变外观和动作。我真的不知道他们如何改变游戏中的动作?我试着谷歌,但我真的找不到合适的地方...... 谢谢!
答案 0 :(得分:1)
尝试进行此更改:
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]];