Swift:更改 Sprite Kit 对象的纹理

标签 swift sprite-kit

如果一个变量改变了它们的值,我如何改变 SpriteKit 对象的纹理。

类似于:

    var x = 2
    if x == 1 {sprite has texture1}
    else if x == 2 {sprite has texture2}

最佳答案

如果 x 是一个属性,那么你可以像这样使用一个property observer

class Hero: SKSpriteNode {

    var x: Int = 1 {
        didSet {
            switch x {
            case 1: self.texture = SKTexture(imageNamed: "texture1")
            case 2: self.texture = SKTexture(imageNamed: "texture2")
            default: break
            }
        }
    }
}

关于Swift:更改 Sprite Kit 对象的纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41065231/

相关文章:

objective-c - SpriteKit : How to create Basic Physics Joints

ios - SKEffectNode 到 SKTexture?

ios - 基于位置的UIGestureRecognizers

ios - 从 Swift 分配的 Objective-C block 在分配后为零

objective-c - Objective C block 语法 - Xcode 自动完成功能不起作用

ios - Swift optional 需要澄清

swift - 如何使用 openURL 在 Swift 中调用电话?

iOS 调度异步崩溃

ios - 在场景显示之前旋转 SpriteKit 中的节点

swift - 如何将 YELP API 与 OAuthSwift 结合使用?