繁体   English   中英

使用SpriteKit不会在触摸屏幕时返回正确的信息

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM