ios - 如何缩放应用程序,使 iPhone 6 与 iPhone 5 SpriteKit 相同(缩放)

标签 ios iphone swift resize scaling

我一直在 Xcode 7 中使用 sprite 套件制作一个应用程序。我通过引用其他 sprite 节点和 self.frame 来放置所有 sprite 节点 例如

self.block.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)

当我在 iPhone 6 Plus 上测试我的应用程序时(我之前在 iPhone 4s 上测试过,但它在 iPhone 5 上运行良好),我的应用程序没有缩放节点,只是缩放它们之间的空间。该游戏依赖于一切都相同,否则在 iPhone 6 上玩的人会发现比在较小设备上玩的人更容易。无论如何,我可以将 iPhone 6 View 变成 iPhone 5 View 的拉伸(stretch)版本吗?谢谢大家!

最佳答案

最好不要使用 self.frame 作为引用来定位 Sprite 。最好将场景视为“真实”坐标,并让 SpriteKit 为您缩放场景。

即。创建场景时指定场景的缩放模式(可能在 View Controller viewDidLoad 中)。我更喜欢 AspectFill 的缩放模式,它可以确保屏幕被填充,但在某些设备上您会丢失边缘。只需确保核心游戏玩法位于场景中间即可。

scene.scaleMode = .AspectFill

然后,使用场景大小作为引用来定位 Sprite 。在风景场景中,我倾向于使用 1024x768(iPad 尺寸)的场景尺寸。

希望有帮助。

关于ios - 如何缩放应用程序,使 iPhone 6 与 iPhone 5 SpriteKit 相同(缩放),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32096473/

相关文章:

objective-c - IAP 问题 - response.products 数组中没有产品

ios - Swift 文件下载问题

ios - 无法使用 AVCaptureAudioDataOutputSampleDelegate 播放从语音录制的音频

android - 什么是最好的 android 和 iphone 游戏框架

swift - NSStatusBar + swift : title shows and immediately disappear

ios - 在 iOS 中,如何在 Swift 中的数字键盘上方添加一行?

ios - 在iOS中需要一个正则表达式,我的表达式像^([a-zA-Z] [a-zA-Z0-9] {8-32} [<>%\*])$

ios - 带有预加载图像的 iPhone 表格 View

jquery - 在 iPhone 上更改 div 的 bg 图像不起作用

iphone - 如何 build 建筑物(查看: top down) that looks like a "3d" building with cocos2d and cocos3d?(适用于iphone)