我创建了这个SpriteKitNode:
let examp = examps[examps.count-1] // examps is a global array with SKNodes inside of it
但是当我尝试更改其纹理时,会收到此错误:
examp.texture = SKTexture(imageNamed: "examp2")
“ SKNode”类型的值没有成员“纹理”
但是,它的值为'texture',所以我不知道解决方案是什么。
答案 0 :(得分:0)
examps
是[SKNode]
。这意味着examp
是SKNode
,而不是SKSpriteNode
,即使examps[examps.count-1]
恰好持有SKSpriteNode
。
要访问texture
属性,您需要将examps[examps.count-1]
的结果强制转换为SKSpriteNode
。
if let examp = examps[examps.count-1] as? SKSpriteNode {
examp.texture = SKTexture(imageNamed: "examp2")
}