12

シーンが表示される前に、SKView の背景色 (灰色) が一時的に表示されるという問題があります。

ストーリーボード エディターとコントローラー ( self.skView.backgroundColor = [SKColor blueColor]) の両方で手動で設定しようとしましたが、グレーのままです。これはオーバーライドできる属性ではありませんか?

更新 #1

何が起こっているかについての簡単な説明は次のとおりです。

  1. viewDidLoadが呼び出されskView、灰色の背景で画面に表示されます (skView.sceneはまだ設定されていません)。
  2. ゲームのすべてのアセットを読み込みます (約 1 秒かかります)。この時点で、灰色の背景が表示されます。
  3. アセットがロードされたら、シーンをロードして表示します (灰色の画面がシーンのコンテンツに置き換えられます)。

ViewController

- (void)viewDidLoad
{
    [self.activityIndicator startAnimating];
    [self authenticatePlayer];

    self.skView.backgroundColor = [SKColor blueColor];

    // During this time the grey screen is visible as the assets are being loaded and take ~1 second
    // self.skView.scene is NULL here so I cannot set the backgroundColor...

    [GamePlayScene loadSceneAssetsWithCompletionHandler:^{
        [self.activityIndicator stopAnimating];
        self.activityIndicator.hidden = YES;

        CGSize viewSize = self.skView.bounds.size;

        self.gamePlayScene = [[GamePlayScene alloc] initWithSize:viewSize];
        self.adView.autoresizingMask = UIViewAutoresizingFlexibleWidth;

        [self.skView presentScene:self.gamePlayScene];

    }];
    ...
4

4 に答える 4

3

残念ながら、最も基本的なセットアップ (backgroundColor の設定など) を行ったシーンを提示してから残りをロードするか、ゲームプレイ シーンがロードされるまで「ロード中」のシーンを提示してから置き換える必要があります。

于 2014-02-26T21:52:10.423 に答える
0

スプライト キットの基本テンプレートを使用して、GameViewController.m ファイル内の次のコードで背景を黒に設定できました。

- (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 sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
scene.backgroundColor = [UIColor blackColor];

// Present the scene.
[skView presentScene:scene];
}

これがまさにあなたが探していたものかどうかはわかりませんが、消えるように見えなかった灰色の背景が取り除かれました. あなたの場合、シーンを初期化した後に「gamePlayScene」の背景色プロパティを設定したいと思うでしょう。

お役に立てれば!

于 2014-11-22T04:57:59.017 に答える