将成员添加到Node

时间:2018-06-11 13:17:06

标签: swift sprite-kit member

我想在Node中添加一个成员!
我认为这样可行:

extension SKNode    {  
    var obstacleType:String =   ""  
}

但事实并非如此! 我想添加这样的成员:

ANode.obstacleType == "Stone" 

可乐就像这样:

if ANode.name == "Obstacle" && ANode.obstacleType == "Stone" {  
    /* Do Something */  
}  

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:0)

您无法存储已存储的属性。

要解决这个问题,只需使用userData:

extension SKNode    {  
    var obstacleType:String
    {
        get
        {
            return self.userData?["type"] ?? ""
        }
        set
        {
            self.userData = self.userData ?? [:]() //Guarentee it is created
            self.userData!["type"] = newValue
        }
    }  
}