Ped*_*aco 4 xcode ios sprite-kit
因此,我正在使用Spritekit在Xcode上为iPhone开发游戏。通过使用node.setScale()方法,它在所有iPhone设备上看起来都一样而且很棒。现在,我想使其在iPad上通用且可运行。我如何轻松做到这一点?规模有一些公式吗?
我已经尝试过的是:
if UIDevice.current.userInterfaceIdiom == .pad {
sscale = frame.size.height / 768
}else{
sscale = frame.size.height / 320
}
Run Code Online (Sandbox Code Playgroud)
然后为每个节点创建node.setScale(sscale)。
最终无法正常工作,因为在iPad Mini上,它看起来与iPad Air不同...即节点大小和位置...
有什么帮助吗?
您基本上有2个选择。
1)将场景大小设置为1024X768(横向)或768x1024(纵向),并使用默认的.aspectFill作为缩放模式。这是Xcode 7(iPad分辨率)中的默认设置。
您通常不会在iPad的顶部/底部(横向)或左侧/右侧(纵向)显示一些额外的背景。
在iPad上显示更多内容的游戏示例:
Altos Adventure,Leos Fortune,Limbo,The Line Zen,Modern Combat 5。
2)苹果将xCode 8中的默认场景大小更改为iPhone 6/7(750 * 1334-Portait,1337 * 750-Landscape)。此设置将在iPad上裁剪您的游戏。
在这两个选项之间进行选择,取决于您制作的游戏。我通常更喜欢使用选项1并在iPad上显示更多背景。
无论场景大小如何,缩放模式通常最好保留为.aspectFill或.aspectFit的默认设置
要调整设备的特定内容(例如标签等),您可以采用这种方式
if UIDevice.current.userInterfaceIdiom == .pad {
// adjust some UI for iPads
}
Run Code Online (Sandbox Code Playgroud)
我不会尝试做一些随机的技巧,在这些技巧中您手动更改不同设备上的场景或节点大小/比例,您应该让xCode / SpriteKit为您完成。
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
1137 次 |
| 最近记录: |