ljs*_*ljs 12 universal ios sprite-kit swift
我希望将横向应用程序设置为通用,以便精灵节点按比例缩放到运行应用程序的任何视图大小.我想要一个完全程序化的解决方案,因为我不喜欢IB.
我的游戏非常简单,我不需要任何类型的滚动或缩放,因此整个游戏将始终存在并占据整个视图.
是否有可能我正在寻找的是改变场景的大小以始终适合视图?如果是这样,你可以彻底解释这个,因为我已经尝试更改我的视图控制器的这一部分
if let scene = GameScene(fileNamed:"GameScene")
Run Code Online (Sandbox Code Playgroud)
将size作为参数的构造方法,但Xcode不喜欢这样.
我尝试过的事情
使用这样的方法在视图之间转换点.这对于节点的点定位实际上非常有效,如果可能的话我希望这个方法可以解决,但是我仍然遇到节点大小的问题.此外,当我使用这种方法为iPad构建时,视图似乎从纵向开始,节点看起来很好但是我必须手动将其切换到横向,精灵和视图边界再次搞砸了.这是方法:
func convert(point: CGPoint)->CGPoint {
return self.view!.convertPoint(CGPoint(x: point.x, y:self.view!.frame.height-point.y), toScene:self)
}
Run Code Online (Sandbox Code Playgroud)关于RW和互联网上其他地方的无数vid教程.
提前致谢!我很感激帮助.我知道这个话题很奇怪,因为很多人都会对此提出疑问,但每个人的情况似乎都不同,以至于一个解决方案并不适合所有人.
cra*_*777 12
我最初尝试使用2个游戏进行缩放,这只是疯狂(场景大小=视图大小或场景缩放模式= .ResizeFill).您必须调整所有设备的所有值,例如字体大小,精灵大小,脉冲等,并且它永远不会一致.
所以你基本上有两个选择
1)将场景大小设置为1024X768(横向)或768x1024(纵向).这是Xcode 7中的默认设置.
你通常只是在iPad上的顶部/底部(横向)或左/右(纵向)显示/显示一些额外的背景,这些背景会在iPhone上被裁剪.
iPhone上的iPad /裁剪上显示更多内容的游戏示例:
Altos Adventure,Leos Fortune,Limbo,The Line Zen,Modern Combat 5.
2) Apple将xCode 8中的默认场景大小更改为iPhone 6/7(750*1334-Portait,1337*750-Landscape).此设置将在iPad上裁剪您的游戏.
在iPad上显示较少的游戏示例:
Lumino City,机器人独角兽攻击
两个选项之间的选择取决于你,取决于你正在制作的游戏.我通常更喜欢使用选项1并在iPad上显示更多背景.
无论场景大小,缩放模式通常最好保留在.aspectFill的默认设置下.
要调整标签等特定内容,您可以这样做
if UIDevice.current.userInterfaceIdiom == .pad {
...
}
Run Code Online (Sandbox Code Playgroud)
您可以自己尝试缩放场景,创建一个新的SpriteKit示例游戏项目.在所有iPhone上运行,你会发现HelloWorld标签在所有设备上看起来都很完美.
现在将默认设置更改为scene size = frame或使用.ResizeFill,HelloWorld标签在所有设备上都不再正确缩放.
作为旁注,行
if let scene = GameScene(fileNamed: "GameScene")
Run Code Online (Sandbox Code Playgroud)
引用GameScene.sks文件.您说您以编程方式执行所有操作,因此您可以删除GameScene.sks文件并将行更改为
let skView = view as! SKView!
let scene = GameScene(size: CGSize(width: 1024, height: 768)) // 768 x 1024 if portrait
Run Code Online (Sandbox Code Playgroud)
更新:
我现在使用的是一个稍微不同的变体,因为我在将游戏改编为iPhoneX时遇到了问题.我将场景大小设置为1334x750并使用宽高比适合作为缩放模式.我运行一些代码来删除黑条,如果需要,例如iPad或iPhone X,因为我更喜欢显示更多的背景.它基于这篇伟大的文章.
http://endlesswavesoftware.com/blog/spritekit-skscene-scalemode/
| 归档时间: |
|
| 查看次数: |
4066 次 |
| 最近记录: |