将UIScrollView添加到SkScene / SkView

时间:2014-07-18 01:26:00

标签: ios uiscrollview sprite-kit skscene skview

TL; DR:我有一个SpriteKit游戏,在4'屏幕,需要快速修复(如使用滚动视图包含SKScene)3.5'屏幕没有再编码,谢谢!

我目前正在完成一个我正在使用SpriteKit的游戏,并且我计划将其上传到AppStore,但问题是:我设计的游戏在4英寸屏幕设备上完美运行所以在3.5中看起来很像太可怕了,我害怕Apple会把游戏交给我来纠正这个问题。因此,我考虑了以下选项:

  1. 使用ScrollView通过以下方法显示场景:
  2. `

    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.在每一行代码中使用条件来检查设备大小并正确设置图像:这可能是要走的路但我真的希望有另一种方式,因为主游戏区域依赖于&#34 ;板"长度为568像素,它也可能完全扰乱游戏逻辑。 (是的,也许计划不好。

    3.在这个答案中使用了一些东西:https://stackoverflow.com/a/19096256/2328918但我认为某些设置可能会弄乱我的代码。

    4.也尝试更改场景的scaleMode,但似乎也没有用。

    感谢您的建议和提示,我正在寻找"短片"回答在这个意义上说,在游戏中添加Scrollview只会让3.5个用户“玩”#34;游戏,但没有真正解决问题,但我真的想把它作为版本1.0发布,然后努力改善3.5屏幕的体验。

1 个答案:

答案 0 :(得分:-1)

您不能以UIScrollView方式使用SKView

您可以拥有以下层次结构:

- UIScrollView
-- SKView
--- SKScene

但它没用。您如何看待UIScrollViewSKView如何处理触摸事件?