0
我有一個網格與不同的廣場。當用戶點擊廣場時,此廣場會翻轉。但在此翻轉期間,touchesBegan
事件沒有奏效。SKaction阻止touchesBegan事件
此代碼是在方點擊後執行:
func flipTile(node : RectSprite){
let flip = SKAction.scaleXTo(-1, duration: 0.5)
let flip2 = SKAction.scaleXTo(-1, duration: 0.2)
node.setScale(1.0)
var key : String = Array(CircleColor.colors.keys.array)[10]
var changeColor = SKAction.runBlock({ node.texture = SKTexture(imageNamed:"white")})
var removeCombinaison = SKAction.runBlock({
self.combination.last?.removeFromParent()
self.combination.removeLast()
self.updateGrid()
})
var action = SKAction.sequence([flip, changeColor])
var action2 = SKAction.sequence([flip2, removeCombinaison])
node.imageName = "white"
node.name = "square"
node.runAction(action)
self.combination.last?.runAction(action2)
}
但是,如果我在接下來單擊正方形快的情況下觸摸沒有工作。也許我需要在新線程中執行此代碼。
你在使用的touchesBegan什麼檢查 – Devapploper
我使用nodeAtPoint和isEqualToNode。我不檢查是否通過touchesBegan或如果我的條件不起作用。我今天晚上檢查。謝謝。 – gabrielpf
謝謝,但這是我的代碼結構不好。因爲我在刪除動畫後刪除了我的數組的SKSpriteNode。所以我比較我在n指數組合觸摸的方塊,但如果我的SKAction沒有完成,我需要與n - 1指數進行比較。謝謝你的幫助,我可以理解我的錯誤。 – gabrielpf