web-dev-qa-db-ja.com

SKSpriteNodeイメージを変更する

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];
    }
}
18
user3423384

ムーバーオブジェクトのテクスチャプロパティを変更する必要があります。

このようなもの:

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

このメソッドは、実際にはムーバーオブジェクトを再作成しています。

mover = [SKSpriteNode spriteNodeWithTexture:explodeTexture1];

次のコマンドでテクスチャを更新する必要があります。

mover.texture = explodeTexture1;
8
Callum Boddy

Swiftバージョン:

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

Swiftバージョン3.0:

mover.texture = SKTexture(imageNamed: "explode")
4
Oscar

私のために働いたのは実際に..

mover.texture = SKTexture(imageNamed: str)
1
Dave Levy