更改SKSpriteNode图像

时间:2014-04-27 18:29:43

标签: ios objective-c sprite-kit

我是sprite Kit的新手,并且在更改当前的SKSpriteNode图像方面存在问题。

我的spriteNode看起来像这样

mover = [SKSpriteNode spriteNodeWithTexture:Texture1];
[mover setScale:1.0];
[self addChild:mover];

然后我有这个方法应该改变移动者的形象,但事实并非如此。我做错了什么?

- (void)didBeginContact:(SKPhysicsContact *)contact {
    if (contact.bodyA.categoryBitMask == worldCategory) {
        SKTexture* explodeTexture1 = [SKTexture textureWithImageNamed:@"explode"];
        explodeTexture1.filteringMode = SKTextureFilteringNearest;

        mover = [SKSpriteNode spriteNodeWithTexture:explodeTexture1];
    }
}

4 个答案:

答案 0 :(得分:28)

您必须更改移动器对象的纹理属性。

这样的事情:

mover.texture = [SKTexture textureWithImageNamed:@"explode"];

答案 1 :(得分:8)

此方法实际上是重新创建移动器对象。

mover = [SKSpriteNode spriteNodeWithTexture:explodeTexture1];

您只需要使用以下内容更新纹理:

mover.texture = explodeTexture1;

答案 2 :(得分:4)

Swift版本:

config/bootstrap.js

Swift 3.0版:

mover.texture = SKTexture.textureWithImageNamed("explode")

答案 3 :(得分:1)

实际上对我有用的是......

mover.texture = SKTexture(imageNamed: str)