以编程方式创建 SKView?
Create SKView programmatically?
我喜欢我的代码是明确的,所以我想删除 storyboard
文件并以编程方式创建 SKView
。
到目前为止我尝试过的:
- 我在 xcode 中创建了一个
SpriteKit
游戏项目。
- 删除故事板文件。
- 已从
Info.plist
中删除 sroryboard 属性
将在示例中找到的代码添加到 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;
}
将此代码添加到 AppViewController
:
-(void) loadView
{
self.view = [[SKView alloc] init];
}
应用程序启动但随后在创建第一个精灵时崩溃并出现以下警告
EXC_BAD_ACCESS
我认为应该有一些很好的例子来说明如何做到这一点,但我还没有找到 SpriteKit
的例子。
我通过为视图设置框架解决了这个问题:
- (void) loadView
{
self.view = [[SKView alloc] initWithFrame: [[UIScreen mainScreen] bounds]];
}
我喜欢我的代码是明确的,所以我想删除 storyboard
文件并以编程方式创建 SKView
。
到目前为止我尝试过的:
- 我在 xcode 中创建了一个
SpriteKit
游戏项目。 - 删除故事板文件。
- 已从
Info.plist
中删除 sroryboard 属性
将在示例中找到的代码添加到
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; }
将此代码添加到
AppViewController
:-(void) loadView { self.view = [[SKView alloc] init]; }
应用程序启动但随后在创建第一个精灵时崩溃并出现以下警告
EXC_BAD_ACCESS
我认为应该有一些很好的例子来说明如何做到这一点,但我还没有找到 SpriteKit
的例子。
我通过为视图设置框架解决了这个问题:
- (void) loadView
{
self.view = [[SKView alloc] initWithFrame: [[UIScreen mainScreen] bounds]];
}