我是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];
}
}
答案 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)