以编程方式创建SKView?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以编程方式创建SKView?相关的知识,希望对你有一定的参考价值。

我喜欢我的代码是明确的所以我想删除storyboard文件并以编程方式创建SKView

到目前为止我尝试过的:

  1. 我在xcode中创建了一个SpriteKit游戏项目。
  2. 删除了故事板文件。
  3. Info.plist删除了sroryboard属性
  4. AppDelegate的示例中添加了此代码: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; AppViewController *viewController = [[AppViewController alloc] init]; viewController.edgesForExtendedLayout = UIRectEdgeNone; _window.rootViewController = viewController; [_window makeKeyAndVisible]; return YES; }
  5. 将此代码添加到AppViewController-(void) loadView { self.view = [[SKView alloc] init]; }

应用程序启动但随后在创建第一个sprite时崩溃,并显示以下警告

EXC_BAD_ACCESS

我认为应该有一些很好的例子说明如何做到这一点,但我还没有找到任何SpriteKit

答案

我通过在视图中设置框架来解决问题:

- (void) loadView
{
    self.view = [[SKView alloc] initWithFrame: [[UIScreen mainScreen] bounds]];
}

这是一个working example project in Swift

以上是关于以编程方式创建SKView?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确调整 SKView 子视图和 SKScene 的大小

保存以编程方式为片段创建的视图并在 onresume 中恢复

以编程方式创建 MapView 并添加标记导致片段中出现空指针异常

以编程方式将按钮添加到片段

如何在android中以编程方式在片段之间导航?

在 skview 中创建按钮以指向不同的场景