0
我知道这可能以前曾被问过,但没有什么正是我需要的。现在想象一下这种情况,我有一个游戏,在这个游戏中,屏幕中间有一个名为Background的SKSpriteNode。在那个背景上,Sprite有一个叫做Button的小孩。如何检测按钮上的触摸是否已结束。如果有人能够帮助我使用TouchesEnded函数的代码,并且可能会更详细地解释发生了什么。谢谢你,swift会是理想的,但我想如果需要的话我可以阅读Objective-C。如何检测一个孩子精灵的触摸
ADDED信息
这里是我的两个精灵:
let buttonBackground = SKSpriteNode(imageNamed: "Button Background.png") //The parent node of button
let soundOn = SKSpriteNode(imageNamed: "Sound On.png") //The button being pressed, which is a child of buttonBackground
这里是我的touchesEnded功能:
override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
// Called when a touch begins
for touch in touches {
let location = touch.locationInNode(self)
let nodeAtTouch = self.nodeAtPoint(location)
let touchedSprite = nodeAtTouch as! SKSpriteNode
if touchedSprite == button {
print("YES")
}
}
}
skNode是您从触摸中检索到的SKSpriteNode。请显示您的碰撞如何工作的一些代码。如果您对此不熟悉,请查看:http://www.techotopia.com/index.php/A_Swift_iOS_8_Sprite_Kit_Collision_Handling_Tutorial – penatheboss
我的错我的意思是一个声明,显示是否触摸skNode时 – grahamcracker1234
skNode是节点被触摸...每当触摸发生时skNode是被触摸的节点 – penatheboss