使用 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
更改为大于零,因为有 SKNode
的 zPosition
比您的 goRightButton
goRightButton.zPosition = 999
我正在使用 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
更改为大于零,因为有 SKNode
的 zPosition
比您的 goRightButton
goRightButton.zPosition = 999