我正在使用SpriteKit制作游戏,但在它完成之前,但最近在我使其更加合规之后,出现了一些错误。 我在左角有一个按钮,当我触摸按钮时,它没有显示任何内容,所以在我触摸屏幕时打印出信息后,我发现它返回的区域为零,甚至没有返回背景信息,纹理是零,但如果我触摸其他区域,一切顺利,信息都很好。所以这里有什么不对,我不明白。
以下是我在toucheBegan函数中编写的一些代码
let touchLocation = (touches as NSSet).anyObject()?.locationInNode(self)
let targetNode = self.nodeAtPoint(touchLocation!)
print(targetNode)
然后控制台返回这些 :name:'(null)'texture:['nil'] position:{0,0} scale:{1.00,1.00} size:{1136,640} anchor:{0.5,0.5} rotation:0.00
它只发生在这个按钮上,我不知道为什么
声明按钮的代码:
goRightButton = SKSpriteNode(imageNamed: "GorightButton1")
goRightButton.anchorPoint = CGPoint(x: 1, y: 0)
goRightButton.position = CGPoint(x: self.size.width - 200, y: 0)
goRightButton.name = "Right"
goRightButton.zPosition = -8
self.addChild(goRightButton)
如果我在iPhone 6上运行它,没有按钮可以工作!发生了什么 ?如果我用IOS9在iPod上运行,它运行正常。
答案 0 :(得分:1)
问题出在这一行
goRightButton.zPosition = -8
将zPosition
更改为大于零,因为SKNode
的{{1}}高于zPosition
goRightButton