我有2个viewcontroller。在第一个视图控制器中,有游戏的介绍和标识,在第二个视图控制器中它加载了skscene。然后我点击按钮,从第一个viewcontroller到第二个viewcontroller。但它是错误的。我的代码在第二个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;
}
答案 0 :(得分:0)
尝试更改此
_spriteView = (SKView *)self.view;
到
_spriteView = (SKView *)self.targetScene;