[英]With using SpriteKit It dosen''t return right information while touching the screen
我正在使用SpriteKit制作游戏,但是在一切正常之前,但是最近在我使其更加合规之后,出现了一些问题。 我在左上角有一个按钮,当我触摸该按钮时,它什么也没显示,因此在触摸屏幕上打印出信息后,我发现它返回的是该区域的nil,甚至没有返回背景信息,纹理为零,但是如果我触摸其他区域,则一切正常,信息也一切正常。 所以这是怎么回事,我不明白。
这是我在toucheBegan函数中编写的一些代码
let touchLocation = (touches as NSSet).anyObject()?.locationInNode(self)
let targetNode = self.nodeAtPoint(touchLocation!)
print(targetNode)
然后控制台返回以下内容:名称:'(null)'纹理:['nil']位置:{0,0}比例:{1.00,1.00}尺寸:{1136,640}锚点:{0.5,0.5}旋转: 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上运行,它将正常工作。
问题在这条线
goRightButton.zPosition = -8
将zPosition
更改为大于零,因为有SKNode
zPosition
比您的goRightButton
goRightButton.zPosition = 999
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.