使用 SpriteKit 触摸屏幕时不会 return 正确的信息

With using SpriteKit It dosen''t return right information while touching the screen

我正在使用 SpriteKit 制作游戏,但在它运行之前一切正常,但最近在我使其更加兼容之后,出现了一些错误。 我在左下角有一个按钮,当我触摸按钮时,它没有任何显示,所以我触摸屏幕打印信息后,我发现它 return 没有这个区域,甚至没有return 背景信息,纹理为零,但如果我触摸其他区域,一切正常,信息一切正常。所以这里有什么问题,我不明白。

这是我在 toucheBegan 函数中编写的一些代码

     let touchLocation = (touches as NSSet).anyObject()?.locationInNode(self)

    let targetNode = self.nodeAtPoint(touchLocation!)




    print(targetNode)

和控制台return这些 : 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 上,则按钮根本不起作用!发生了什么 ?如果我 运行 在 iPod 上使用 IOS9 ,它工作正常。

问题出在这一行

goRightButton.zPosition = -8

zPosition 更改为大于零,因为有 SKNodezPosition 比您的 goRightButton

goRightButton.zPosition = 999