2

現在、SpriteKit と SKTexture のプリロードで奇妙な断続的な問題が発生しています。次の形式でプリロードする画像の配列が複数あります。

- (NSDictionary *)loadTexturesWithNames:(NSArray *)aNames
{
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    NSMutableArray *textureArray = [NSMutableArray array];

    for (NSString *textureName in aNames)
    {
        SKTexture *texture = [SKTexture textureWithImageNamed:textureName];
        if (texture)
        {
            [textureArray addObject:texture];
            [dict setObject:texture forKey:textureName];
        }
    }

    [SKTexture preloadTextures:textureArray withCompletionHandler:^{
        _iCounter++;
        [self loadTextures];
    }];

    return dict;
}

これは 90% の確率で問題なく動作しますが、ときどき次のエラーが発生します。

SKTexture: 画像リソースの読み込み中にエラーが発生しました:

これは特定の画像セットでは発生せず、ランダムに発生します。そのため、プレーヤーが正常にロードされる場合とそうでない場合があります。これはメモリの問題でしょうか?_iCounter を使用してテクスチャの読み込みを分割します。これにより、前の画像セットが次の画像セットを開始する前に読み込まれ、同時読み込みが多すぎないようにします。これによりプロセスが高速化されましたが、この断続的な問題がまだ見られます。

他の誰かがこれを見たことがありますか、または何がこれを引き起こす可能性があるか考えていますか?

4

1 に答える 1