由于未知原因,文本节点被拖到可见 space 之外
text node gets dragged outside the visible space for unknown reason
我是 iOS 应用程序开发的新手,我一直在尝试让我的节点按照我的意愿出现在场景中时遇到问题。我有这个场景,我试图在屏幕中间和顶部显示一些文本。只有当我有 10 个声望时,我才会在这里分享截图:(
但是发生的事情是我试图显示的文本节点由于某种原因被拖到可见 space 之外。这是代码 -
highestScore.fontName = "Helvetica"
highestScore.color = SKColor(red: 0.5, green: 0.5, blue: 0.5, alpha: 0.5)
highestScore.fontSize = 60
highestScore.text = "0"
highestScore.position = CGPointMake(CGRectGetMidX(self.frame), self.frame.height - 100)
// scoreLabel.zPosition = 10
self.addChild(highestScore)
更奇怪的是,当我从另一个场景回到这个场景时,文本节点出现在不同的位置,也许是正确的位置。
如有任何帮助,我们将不胜感激。谢谢!
您的代码完全正确,不需要使用 zPosition
。
您的问题是场景框架的大小。 GameViewController
帧,其中嵌入了您的 GameScene
,与您的场景大小不同。
要解决该问题,请打开您的 GameViewController.swift
文件并在 viewDidLoad
方法中的 scene.scaleMode = .AspectFill
:
行之后添加以下代码行
scene.size = skView.bounds.size
这样,两个框架的大小相同,您可以使用您的代码。
我是 iOS 应用程序开发的新手,我一直在尝试让我的节点按照我的意愿出现在场景中时遇到问题。我有这个场景,我试图在屏幕中间和顶部显示一些文本。只有当我有 10 个声望时,我才会在这里分享截图:(
但是发生的事情是我试图显示的文本节点由于某种原因被拖到可见 space 之外。这是代码 -
highestScore.fontName = "Helvetica"
highestScore.color = SKColor(red: 0.5, green: 0.5, blue: 0.5, alpha: 0.5)
highestScore.fontSize = 60
highestScore.text = "0"
highestScore.position = CGPointMake(CGRectGetMidX(self.frame), self.frame.height - 100)
// scoreLabel.zPosition = 10
self.addChild(highestScore)
更奇怪的是,当我从另一个场景回到这个场景时,文本节点出现在不同的位置,也许是正确的位置。
如有任何帮助,我们将不胜感激。谢谢!
您的代码完全正确,不需要使用 zPosition
。
您的问题是场景框架的大小。 GameViewController
帧,其中嵌入了您的 GameScene
,与您的场景大小不同。
要解决该问题,请打开您的 GameViewController.swift
文件并在 viewDidLoad
方法中的 scene.scaleMode = .AspectFill
:
scene.size = skView.bounds.size
这样,两个框架的大小相同,您可以使用您的代码。