我想约束和定位游戏中心按钮到左上角,并使其约束为每一个设备,我该怎么做。我对雪碧很陌生。

 let gameCenterBtn = SKSpriteNode(imageNamed: "Game-Center-icon.png")
        gameCenterBtn.size = CGSize(width: 60, height: 60)
        gameCenterBtn.name = "gameCenterButton"
        gameCenterBtn.position = CGPointMake(320, 730)
        gameCenterBtn.position = CGPoint(x: self.frame.width  , y: self.frame.height  )

例如,如何定位节点并使其适用于任何设备?
我想出来了。下面的代码有效。
gameCenterBtn.position = CGPoint(x: CGRectGetMidX(self.frame) - 188 , y: CGRectGetMaxY(self.frame) - 25)

最佳答案

场景裁剪仍在发生,正如我在我删除的旧答案中所说。
打开一个全新的Xcode游戏模板,将代码粘贴到如下位置

 gameCenterBtn.position = CGPoint(x: CGRectGetMaxX(self.frame) - (gameCenterButton.size.width / 2)  , y: CGRectGetMidY(self.frame))

在所有的模拟器上运行看看会发生什么。
在ipad上,你可以看到右边一半的图片,而在iphone上,你只能看到1/4。
现在转到gameviewcontroller并将场景缩放模式更改为resizefill,看看会发生什么。所有设备上的sprits都将位于同一位置,但必须重新调整图像大小。
这就是设置场景大小的方法。
How to change SKscene size

10-08 12:11