gpt4 book ai didi

actionscript-3 - 为什么我的外部资源没有通过 ActionScript 中的 URL/Loaders 加载(在许多情况下)?

转载 作者:行者123 更新时间:2023-12-04 06:49:41 25 4
gpt4 key购买 nike

我正在开发一个 Flash 游戏,它从本地 url 加载资源。此 url 在本地解析,类似于 http://example.dev .这只包含静态资源,所以类似于 http://example.dev/images/randomtiles/grass.png实际上,如果我通过 curl 访问资源,这是一个有效的图像。

但是,我正在使用两个浏览器进行测试。一种是带有 Adob​​e Flash Player 15.0.0.189 的 Google Chrome,另一种是带有 Adob​​e Flash Player 11.2.202.457 的 Firefox。我正在使用 Ubuntu 14.04(也许这是一个错误而不是 8 层问题)。

在 AFP 15 中,点击 url http://example.dev/images/randomtiles/grass.png根本不起作用。在 AFP 11 中,点击 url http://example.dev/images/randomtiles/grass.png仅当我连接到 Internet 时才有效。使用 curl 访问 url 始终有效。直接使用 Chrome 或 Firefox 访问 url,始终有效。

flash命中图片的机制解释起来有点长,但基本上都是基于Loaders:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void {
try {
addCacheCallback(entry, Bitmap(LoaderInfo(e.target).content));
} catch(e:Error) {
errorCallback(e);
}
});
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorCallback);
loader.load(new URLRequest("http://example.dev/images/randomtiles/grass.png"));

我期望什么:由于资源服务器在本地维护(在这台机器上),我希望资源始终在我的游戏中提供,无论 Flash 版本如何.

Flash Player 发生了什么事?或者...我在那里错过了什么? (由于我仍在苦苦挣扎的环境问题,无法调试)。

最佳答案

您的 .swf 文件是否来自同一域?

如果没有,您必须将 crossdomain.xml 文件添加到您的站点。 This documentation可能有帮助。

测试这是否是您遇到的问题的最简单方法是将名为 crossdomain.xml 的文件添加到您的站点根目录:

<?xml version="1.0"?> 
<!-- http://www.foo.com/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

请注意,在实践中,您可能希望专门将允许访问的域列入白名单。

关于actionscript-3 - 为什么我的外部资源没有通过 ActionScript 中的 URL/Loaders 加载(在许多情况下)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29873117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com