4

我正在尝试在不使用 xcassets 的游戏中使用 ODR。

所以,我有一个带有标签的纹理(例如“教程”),在项目设置中将其设为 ODR,并使用下面的代码下载它:

NSBundleResourceRequest *resourceRequest = [[NSBundleResourceRequest alloc] initWithTags:tags];
[resourceRequest conditionallyBeginAccessingResourcesWithCompletionHandler:^(BOOL resourcesAvailable) {
    if (resourcesAvailable) {
        // Upload the texture
    }
    else
    {
        [resourceRequest beginAccessingResourcesWithCompletionHandler:^(NSError * _Nullable error) {
            if (error) {
                NSLog(@"Failed to load assets pack");
            }
            else
            {
                // Upload the texture
            }
        }];

    }
}];

主包不包含有问题的纹理(我在模拟器文件夹中查看了包)。调用XCode上面的代码后,logs报告下载成功,可以使用了。

评论在哪里,// Upload the texture我需要调用我的代码来将纹理上传到视频内存中,但问题是 - 我无法获得下载文件的确切位置。

有没有办法知道下载资产的位置?

4

2 回答 2

-1

今天发生在我身上,它是链接下的资产图像 TARGET- >Resource Tags检查是否在此处添加了资产中的任何图像。如果它在那里而不是删除并重建。

于 2020-04-17T15:58:31.800 回答
-2

NSBundleResourceRequest 中提供了一个包,您可以使用它来获取资源。参见Apple 关于 NSBundleResourceRequest 的文档

于 2015-12-17T18:31:55.750 回答