TL;DR:我有一个 SpriteKit 游戏,它在 4' 屏幕上看起来很棒,需要快速修复(比如使用滚动视图来包含 SKScene)3.5' 屏幕而无需再次编码所有内容,谢谢!
我目前完成了一个我正在使用 SpriteKit 的游戏,我打算将它上传到 AppStore,但问题是:我设计的游戏可以在 4 英寸屏幕设备上完美运行,所以在 3.5 中它看起来很糟糕,我担心苹果会把游戏还给我来纠正这个问题。因此,我考虑了以下选项:
- 使用 ScrollView 通过以下方法呈现场景:
`
SKView *skView = (SKView *)self.view;
// Create and configure the scene.
SKScene *scene = [BIMainMenu sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
UIScrollView *scrollView = [[UIScrollView alloc]initWithFrame:self.view.bounds];
scrollView.contentSize = CGSizeMake(320, 568);
[scrollView addSubview:skView];
[self.view addSubview:scrollView]; //expection thrown here
// Present the scene.
[skView presentScene:scene];
`
但是这个方法不起作用,它在尝试将scrollView添加到视图时出现异常。也许我在这里做错了什么?
2.在每一行代码中使用条件来检查设备大小并正确设置图像:这可能是要走的路,但我真的希望有另一种方法,因为主游戏区域依赖于 568 像素的“棋盘”很长,它也可能完全搞乱游戏逻辑。(是的,也许计划不好。
3.在这个答案中使用一些东西:https ://stackoverflow.com/a/19096256/2328918但我认为某些设置也可能会弄乱我的代码。
4.还尝试更改场景的 scaleMode 但似乎也不起作用。
感谢您的建议和提示,我正在寻找“简短”的答案,因为在游戏中添加 Scrollview 只会让 3.5 个用户“玩”游戏,但不能真正解决问题,但我真的很喜欢将其作为 1.0 版发布,然后致力于改善 3.5 屏幕的体验。