2014-04-27 10 views
15

Jestem nowy, aby skruszyć Kit i mieć problem ze zmianą bieżącego obrazu SKSpriteNode.Zmiana obrazu SKSpriteNode

Moja spriteNode wygląda następująco

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

wtedy mam ten sposób, że należy zmienić obraz wchodzącego na rynek, ale tak nie jest. Co ja robię źle?

- (void)didBeginContact:(SKPhysicsContact *)contact { 
    if (contact.bodyA.categoryBitMask == worldCategory) { 

     SKTexture* explodeTexture1 = [SKTexture textureWithImageNamed:@"explode"]; 
     explodeTexture1.filteringMode = SKTextureFilteringNearest; 

     mover = [SKSpriteNode spriteNodeWithTexture:explodeTexture1]; 



    } 
} 

Odpowiedz

25

Musisz zmienić właściwość texture obiektu poruszającego.

coś takiego:

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

Metoda ta jest rzeczywiście ponownie tworzenia obiektu wnioskodawcy.

mover = [SKSpriteNode spriteNodeWithTexture:explodeTexture1]; 

Wystarczy zaktualizować tekstury z:

mover.texture = explodeTexture1; 
2

Swift wersja:

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

wersji Swift 3.0:

mover.texture = SKTexture(imageNamed: "explode") 
1

Co pracował dla mnie faktycznie ..

mover.texture = SKTexture(imageNamed: str)