私は2つのviewcontrollerを持っています。最初のビュー コントローラーにはゲームの紹介とロゴがあり、2 番目のビュー コントローラーには skscene が読み込まれます。そして、ボタンをクリックするだけで、最初のビューコントローラーから2番目のビューコントローラーに移動します。しかし、それはエラーになります。私のコードは2番目のviewcontrollerにあります:
@interface MPAPViewSceneController()
@property (nonatomic, retain) MPAPMyScene *targetScene;
@property SKView *spriteView;
@end
- (void)viewDidLoad
{
[super viewDidLoad];
_spriteView = (SKView *)self.view;
_spriteView.showsFPS = YES;
_spriteView.showsNodeCount = YES;
_spriteView.showsDrawCount = YES;
}
-(void)viewWillAppear:(BOOL)animated {
self.targetScene = [[MPAPMyScene alloc] initWithSize:CGSizeMake(768.0f, 1024.0f)];
[_spriteView presentScene:self.targetScene];
}
-(void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:YES];
self.targetScene = nil;
}
そしてシーンでは、以下のコードを書きました:
@interface MPAPMyScene()
@property (nonatomic) BOOL contentCreated;
@end
@implementation MPAPMyScene
-(void)didMoveToView:(SKView *)view {
if (self.contentCreated == NO) {
[self createSceneContents];
self.contentCreated = YES;
}
}
-(void)willMoveFromView:(SKView *)view {
[self removeAllChildren];
}
-(void)createSceneContents {
self.backgroundColor = [UIColor blueColor];
self.scaleMode = SKSceneScaleModeAspectFit;
}