在学习SpriteKit时,我用1个按钮制作了一个场景。我不了解职位的工作方式。我读到的是0,0是左下角,默认锚点位于每个按钮(0.5,0.5)的中间。场景是scene.scaleMode = .AspectFill。如果我写:

    self.playButton.position = CGPointMake(self.playButton.size.width/2,CGRectGetMidY(self.frame))
    self.addChild(self.playButton)

我得到下面的截图中的内容。
如果我将playbutton.position.x设置为self.playbutton.size.width/2,则假定它在屏幕的左侧。有点怪异的离开了屏幕。我已经阅读了有关尺寸的文档两天了,但我似乎还是不太明白。我还明确设置了:
    self.size.width = 768
    self.size.height = 1024

表示场景size widthheight。另外,我在主情节提要中已选中“使用自动布局”。

最佳答案

如果将场景的缩放模式更改为.AspectFit,您将能够快速查看问题所在。您为场景设置的分辨率与设备的纵横比完全不同。实际上,当我回答您的最后一个问题时,我以为您使用768x1024分辨率意味着您正在为iPad开发,这是正确的分辨率。

在具有4英寸屏幕的iPhone上,您应该将场景的大小设置为320x568,而对于3.5英寸屏幕则设置为320x480。但是,可以通过在视图控制器中将这一行添加到场景创建中来简化此操作。它将场景的大小设置为视图控制器视图的大小。

scene.size = skView.bounds.size

关于ios - SpriteKit的位置困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24306048/

10-13 04:16