0
我建了一堵牆,磚頭不動,但我需要讓他們中的一個調用一些信息。下面這段代碼是內部的功能可能是應該有這樣的磚全球SKSpriteNode能識別手勢嗎?
let brk = SKSpriteNode(imageNamed: imgName)
if (imgName == "brickinfo"){
brk.name = "brickinfo"
}
brk.position = CGPoint(x:CGRectGetMinX(self.frame)+brkx, y: CGRectGetMinY(self.frame)+brky)
if (imgName == "brickinfo"){
let singleTap = UITapGestureRecognizer(target: self, action: Selector("ShowInfo"))
singleTap.numberOfTapsRequired = 1
brk.userInteractionEnabled = true
//brk.addGestureRecognizer(ShowInfo) //do not exist
}
brk.xScale = 0.2
brk.yScale = 0.2
addChild(brk)
我使用這意味着他們SKAction所以,當我在上面點擊,觸摸開始被激發其他的運動圖像相同的代碼。他們都使用相同的代碼,添加一個名字addchild()。
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
/* Called when a touch begins */
for touch in touches {
let location = touch.locationInNode(self)
//675
//30
print(self.nodeAtPoint(location).name)
if let theName = self.nodeAtPoint(location).name {
但「brickinfo」的名稱總是回來nil。 這磚圖像可以觸發touchesbegan? 謝謝
有什麼區別:let touch = touches.first! 如果myNode.containsPoint(touch.locationInNode(self)){ print(「touched」) }並用於觸摸觸摸{0}位置= touch.locationInNode(self) – pierre
好吧我會問另一個問題,我不會需要一個特定的手勢,只是一個觸摸,這觸摸觸摸不適用於靜態圖像的某些原因,但完美的圖像移動,現在沒有意義。如果它有一個名字,它會做一些事情。 – pierre