現在、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 を使用してテクスチャの読み込みを分割します。これにより、前の画像セットが次の画像セットを開始する前に読み込まれ、同時読み込みが多すぎないようにします。これによりプロセスが高速化されましたが、この断続的な問題がまだ見られます。
他の誰かがこれを見たことがありますか、または何がこれを引き起こす可能性があるか考えていますか?