精灵套件,灰色背景而不是图像

时间:2015-03-24 18:05:28

标签: ios objective-c sprite-kit

我似乎无法获得显示图像的背景。

以下是代码:

@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];
}

2 个答案:

答案 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在初始化时是零。