【问题标题】:Value of type 'SKNode' has no member 'texture'. But it does“SKNode”类型的值没有成员“纹理”。但它确实
【发布时间】:2019-03-17 16:19:14
【问题描述】:

我创建了这个 SpriteKitNode:

let examp = examps[examps.count-1] // examps is a global array with SKNodes inside of it 

但是当我尝试改变它的纹理时,我收到了这个错误:

examp.texture = SKTexture(imageNamed: "examp2")

“SKNode”类型的值没有成员“纹理”

但是,它的值是“纹理”,所以我不知道解决方案是什么。

https://imgur.com/a/s1V0XZF

【问题讨论】:

  • 你确定examp被声明为局部常量吗?
  • 不,不是。它取自带有 SKNodes 的全局数组。可以吗?我将我的代码编辑成现在的样子,抱歉
  • 请尝试理解错误。基类SKNode 没有成员texture,只有子类SKSpriteNode 有。

标签: swift sknode


【解决方案1】:

examps[SKNode]。这意味着exampSKNode,而不是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")
}

【讨论】:

  • 谢谢!我以为我可以简单地访问“纹理”属性,因为它包含在我的示例常量中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 2016-03-11
  • 1970-01-01
相关资源
最近更新 更多