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