Arrays 如何将数组与SKSpriteNodes一起使用

Arrays 如何将数组与SKSpriteNodes一起使用,arrays,swift2,Arrays,Swift2,我想用SpriteKit做一个猜谜游戏。我的问题是我需要显示一次的图像。我不明白如何正确地显示它们,而且只能显示一次。我有一个数组: var pics = ["queston1","question2","question3","question4","question5"] 为此,我尝试用如下纹理向他们展示: var pic = SKSpriteNode(imageNamed: "question1") func setPics() { pic.texture = SKTexture(im

我想用SpriteKit做一个猜谜游戏。我的问题是我需要显示一次的图像。我不明白如何正确地显示它们,而且只能显示一次。我有一个数组:

var pics = ["queston1","question2","question3","question4","question5"]
为此,我尝试用如下纹理向他们展示:

var pic = SKSpriteNode(imageNamed: "question1")

func setPics() {
pic.texture = SKTexture(imageNamed: "question1")
pic.name = pic.texture
addChild(pic)
}

Then I put setPics() at didMoveToView and loop through buttons:

case trueButton:
if pic.name == "question1"
//also tried if pic.texture == pic[0] {
print("true")
pic.texture = pic[1]
pic.removeAtIndex[0] //to prevent displaying it another time
// pic.texture = SKTexture(imageNamed: "question2"
}
if pic.texture == "question2" {
...
等等。它不起作用。我知道我做错了,但我不知道如何做得更好。当我尝试使用随机编码而不是硬编码哪个问题是下一个问题时,这种逻辑是有效的,但现在它完全错了。但随机性是另一个问题。纹理层叠在一起,即使我将它们从阵列中移除。
如何正确处理?

pic.name=pic.texture
无法编译,因为您无法将类型
SKTexture?
的值分配给类型
String?
。这不是代码中唯一的小错误,请(在编译器的帮助下)修复它们,然后问一个更具体的问题。
pic.name=pic.texture
无法编译,因为您无法将类型
SKTexture?
的值分配给类型
String?
。这不是代码中唯一的小错误,请修复它们(在编译器的帮助下),然后问一个更具体的问题。