Ответ 1
Вам нужно изменить свойство текстуры объекта перемещения.
Что-то вроде этого:
mover.texture = [SKTexture textureWithImageNamed:@"explode"];
я новичок в спрайте 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];
}
}
Вам нужно изменить свойство текстуры объекта перемещения.
Что-то вроде этого:
mover.texture = [SKTexture textureWithImageNamed:@"explode"];
Этот метод фактически воссоздает объект перемещения.
mover = [SKSpriteNode spriteNodeWithTexture:explodeTexture1];
Вам просто нужно обновить текстуру с помощью
mover.texture = explodeTexture1;
Быстрая версия:
mover.texture = SKTexture.textureWithImageNamed("explode")
Быстрая версия 3.0:
mover.texture = SKTexture(imageNamed: "explode")
То, что сработало для меня, было на самом деле.
mover.texture = SKTexture(imageNamed: str)