【问题标题】:Change a SKSpriteNode Image更改 SKSpriteNode 图像
【发布时间】:2023-03-28 21:54:01
【问题描述】:

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

【问题讨论】:

    标签: ios objective-c sprite-kit


    【解决方案1】:

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

    类似这样的:

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

    【讨论】:

      【解决方案2】:

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

      mover = [SKSpriteNode spriteNodeWithTexture:explodeTexture1];
      

      你只需要更新纹理:

      mover.texture = explodeTexture1;
      

      【讨论】:

        【解决方案3】:

        Swift 版本:

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

        Swift 3.0 版:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-22
          • 1970-01-01
          相关资源
          最近更新 更多