Arrays 如何将数组与SKSpriteNodes一起使用
我想用SpriteKit做一个猜谜游戏。我的问题是我需要显示一次的图像。我不明白如何正确地显示它们,而且只能显示一次。我有一个数组: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
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?
。这不是代码中唯一的小错误,请修复它们(在编译器的帮助下),然后问一个更具体的问题。