我似乎无法获得显示图像的背景。
以下是代码:
@implementation GameScene
- (id)initWithSize:(CGSize)size {
if ((self = [super initWithSize:size])) {
self.anchorPoint = CGPointMake(0.5, 0.5);
SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"Background"];
[self addChild:background];
}
return self;
}
@end
- (void)viewDidLoad
{
[super viewDidLoad];
// Configure the view.
SKView * skView = (SKView *)self.view;
skView.showsFPS = YES;
skView.showsNodeCount = YES;
/* Sprite Kit applies additional optimizations to improve rendering performance */
skView.ignoresSiblingOrder = YES;
// Create and configure the scene.
GameScene *scene = [GameScene unarchiveFromFile:@"GameScene"];
scene.scaleMode = SKSceneScaleModeResizeFill;
// Present the scene.
[skView presentScene:scene];
}
答案 0 :(得分:2)
我认为当您initWithSize:
尝试在场景中使用unarchiveFromFile:
时,问题didMoveToView:
实际上并未被调用。
-(void)didMoveToView:(SKView *)view {
/* Setup your scene here */
SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"Background"];
[self addChild:background];
}
希望这有帮助。
答案 1 :(得分:0)
作为@SkylerLauren的答案,而不是initWithSize:,你应该使用initWithCoder:方法。有关link的更多信息。
如果你明确想要使用场景的init方法,你应该知道self.view在初始化时是零。