SpriteKit有时无法加载SKTexture

埃利奥特·德·阿尔瓦雷斯

我目前在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拆分纹理加载,以确保在开始下一组图像之前先加载前一组图像,以尝试停止过多的并发加载。这加快了过程,但我仍然看到此间歇性问题。

是否有其他人看到过此消息,或者不知道是什么原因引起的?

学习Cocos2D

根据我的经验,一个常见的原因是您不等待完成处理程序被调用。例如,在“ image”是要预加载的图像之一的情况下执行以下操作可能是错误的来源:

[self loadTexturesWithNames:names];
SKSpriteNode* sprite = [SKSpriteNode spriteNodeWithImageNamed:@"image"];

当然,如果仅使用该loadTexture方法创建精灵节点和纹理,则应该没问题。除非您执行其他后台任务,否则您将loadTextureWithNames在后台运行选择器(独立线程)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有时X无法加载

来自分类Dev

Google字体有时无法加载

来自分类Dev

图片无法加载(有时!)

来自分类Dev

有时alamofireImage无法加载图像

来自分类Dev

Synaptics驱动程序有时无法加载

来自分类Dev

简单的angular.js示例有时无法加载

来自分类Dev

Synaptics驱动程序有时无法加载

来自分类Dev

imagesloaded插件有时无法正确加载图像

来自分类Dev

Angular数据表有时无法加载

来自分类Dev

Ubuntu 错误 - 有时甚至无法从 BIOS 加载

来自分类Dev

Vue.js 有时无法加载组件

来自分类Dev

SKTexture无法在Swift / SpriteKit中正确更新

来自分类Dev

AVAudioPlayer无法在SpriteKit场景加载时工作

来自分类Dev

DelayedJob有时无法使用名称空间加载作业类

来自分类Dev

由javascript加载的外部javascript有时无法在IE中运行

来自分类Dev

有时图像无法正确加载到Packery Masonry页面中

来自分类Dev

DelayedJob有时无法使用名称空间加载作业类

来自分类Dev

外部js文件中的Reactjs组件有时无法加载

来自分类Dev

JQueryUi 自动完成组合框有时无法在 Firefox 中正确加载

来自分类Dev

嵌入式推文有时在 WKWebView 中无法完全加载

来自分类Dev

Vaadin EasyUpload 加载项有时无法打开或找不到指定的文件

来自分类Dev

uiwebview有时加载fileURLWithpath有时不加载

来自分类Dev

uiwebview有时加载fileURLWithpath有时不加载

来自分类Dev

IE 有时加载 WOFF 有时加载 EOT 字体类型

来自分类Dev

Quicksort有时无法完成?

来自分类Dev

NSUserDefault有时无法保存自身

来自分类Dev

模板lambda有时无法编译

来自分类Dev

硒有时无法找到元素

来自分类Dev

Android Studio有时无法启动