【发布时间】:2015-06-26 17:54:13
【问题描述】:
我需要检测用户是否点击了精灵节点。
我在这里创建精灵节点:
var enemy1Texture = SKTexture(imageNamed: "enemy1")
enemy1 = SKSpriteNode(texture: enemy1Texture)
enemy1.setScale(0.3)
enemy1.position = CGPoint(x: self.size.width * 0.5, y: self.size.height * 1.2)
self.addChild(enemy1)
在touchesBegan这里我设置了检测触摸的变量:
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
/* Called when a touch begins */
for touch: AnyObject in touches {
let touch = touches.first as? UITouch
let location = touch!.locationInNode(self)
let touchedNode = self.nodeAtPoint(location)
let touchedNodeName = touchedNode.name
enemy1.name = "enemy1"
enemy1.userInteractionEnabled = true
然后在函数的最后我检查被触摸的精灵节点的名称并尝试执行相应的代码:
if touchedNodeName == "enemy1" {
//Enemy touched code
println("Enemy1 was touched!")
}
而且它不起作用。当我在精灵节点向下移动时点击它时,控制台不会打印任何内容。我做错了什么?
【问题讨论】:
标签: swift sprite-kit