gpt4 book ai didi

ios - Sprite Kit 场景编辑器 GameScene.sks 场景宽高

转载 作者:可可西里 更新时间:2023-11-01 04:21:59 24 4
gpt4 key购买 nike

我正在使用 spritekit 场景构建器构建我的场景(在 xcode 7 ios9 中创建项目时也称为 GameScene.sks 文件)。 SpriteKit 仅在设置屏幕高度和宽度时使用像素值。我的问题是:

如果我将像素值设置为 iphone 6 的像素值,游戏对于 ipad 和 iphone 6+ 来说会不会太小?为什么没有适合设备屏幕的选项?我应该怎么做才能避免这种情况?

最佳答案

像素密度

首先,场景的大小是以 Points 而不是 Pixels 定义的。

让我们看看支持 iOS 9 的设备是如何处理这个问题的:

  • 1 point = 1x1 pixel: iPad 2, iPad mini
  • 1 point = 2x2 pixels: iPhone 4s, iPhone 5, iPhone 5c, iPhone 5s, iPhone 6, iPhone 6s, iPad mini 2, iPad mini 3, iPad mini 4, iPad 3, iPad 4, iPad Air, iPad Air 2, iPad Pro, iPod touch 5, iPod touch 6
  • 1 point = 3x3 pixels: iPhone 6 Plus, iPhone 6s Plus

这允许您指定一个尺寸,该尺寸会根据特定设备的像素密度自动转换。

屏幕尺寸

iOS 9 支持的 iPhone/iPad 有多种屏幕尺寸。

使用 SpriteKit,您可以通过设置 ScenescaleMode 属性轻松面对这个问题。

您可以在 4 个选项中进行选择:

  • Fill: Scale the SKScene to fill the entire SKView.
  • AspectFill: Scale the SKScene to fill the SKView while preserving the scene's aspect ratio. Some cropping may occur if the view has a different aspect ratio.
  • AspectFit: Scale the SKScene to fit within the SKView while preserving the scene's aspect ratio. Some letterboxing may occur if the view has a different aspect ratio.
  • ResizeFill: Modify the SKScene's actual size to exactly match the SKView.

您可能想要设置 AspectFill 但这实际上取决于您的游戏。

要设置属性,请打开 GameViewController.swift(如果您使用 Objective-C,则为 .m),在 viewDidLoad 中,您会发现这条线。只需根据您的喜好更改它即可。

/* Set the scale mode to scale to fit the window */
gameScene.scaleMode = .AspectFill

关于ios - Sprite Kit 场景编辑器 GameScene.sks 场景宽高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33968046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com