0
我想枚舉使用其名稱的節點,檢查它們的y位置,如果該值低於某個數字,則對其運行某些功能。我列舉的節點是其他節點的一部分,稱爲塊節點。我這樣設置我的遊戲,因爲在整個塊父節點而不是每個塊上應用動作更方便。這是我的代碼枚舉:Sprite工具包枚舉要刪除的節點失敗
func chechForPassing(){
var passedBlocks: [SKSpriteNode] = []
enumerateChildNodesWithName("1") { node, _ in
let node = node as! SKSpriteNode
if (node.position.y <= self.frame.size.height*0.3) {
passedBlocks.append(node)
println("1")
}
for node in passedBlocks {
self.fadeEnRemove(node)
}
}
其中fadeEnRemove只是我寫的函數。打印用於調試目的。這是我如何設置我的塊:
func block(x: CGFloat, y: CGFloat) {
var block = SKSpriteNode(imageNamed: "obsticle")
kratkowski.size = CGSizeMake(block.frame.size.width*scaleFactor, block.frame.size.height*scaleFactor)
block.position = CGPointMake(x, y)
block.name = "1"
blocksNode!.addChild(block)
}
而塊節點是SKNode。任何人都知道如何解決這個小問題?
謝謝!
這裏沒有足夠的信息來進行調試。 「fadeEnRemove」做什麼?此外,我不明白爲什麼你在枚舉中嵌套了一個循環與通過塊。它似乎應該在外面 – hamobi
問題不是淡出功能,因爲我沒有打印在我的控制檯。我使用這個列表是因爲在同一次更新下有多個塊可能屬於這個類別。 – TruniTr
fade函數只是一個函數,它將sprite作爲參數並運行remove操作(SKAction.removeFromParent) – TruniTr