4

移行時にわずかな遅延 (ラグ) が発生するという問題がありSKSceneます。これを に絞り込んだコードのさまざまなビットをコメントアウトすることSKLabelNodeで、新しいSKScene.

他の誰かがこれに気づいたことがありますかSKScene?通常の起動遅延でスローダウンが失われるため、(デフォルトのテンプレートのように)単一のものを使用するだけではあまり明白ではありません. これを回避する方法を知っている人はいますか?フォントをプリロードする方法はありますか? UIViewController起動時にフォントをロードして、からアクセスできるかどうかを確認できると思いますSKScene。誰かアイデアはありますか?

-(id)initWithSize:(CGSize)size {
    if (self = [super initWithSize:size]) {
        [self setScore:0];

        [self setBackgroundColor:[SKColor blackColor]];
        SKLabelNode *labelNode = [SKLabelNode labelNodeWithFontNamed:@"System"];
        [labelNode setText:@"00000"];
        [labelNode setFontSize:20.0];
        [labelNode setPosition:CGPointMake(CGRectGetMidX(self.frame),500)];
        [labelNode setName:@"SCORE"];
        [labelNode setAlpha:1.0];
        [self addChild:labelNode];
        [self setScoreLabel:labelNode];
        ...
4

6 に答える 6

1

ビューがSKViewである単一のUIViewControllerを使用するのではなく、複数のUIViewControllerを使用してアプリをナビゲートしていたため、SKSceneのレンダリングに遅延がありました。ここで答えを見つけました。単一の UIViewController を使用するようにコードをリファクタリングするとすぐに、SKScene 間の遷移がシームレスになりました。

これが問題でない場合は、ビューの読み込み時に SKScenes をインスタンス化し、シーンを遷移して表示する直前にシーンのコンテンツを更新することができます。

于 2013-12-04T21:43:22.433 に答える