我正在开发一款Flash游戏,它从本地网址加载资源。此网址在本地解析,类似http://example.dev。这只包含静态资源,因此如果我通过curl
点击资源,http://example.dev/images/randomtiles/grass.png之类的内容实际上就是有效图像。
但是,我使用两个浏览器进行测试。一个是使用Adobe Flash Player 15.0.0.189的Google Chrome,另一个是使用Adobe Flash Player 11.2.202.457的Firefox。我使用的是Ubuntu 14.04(也许这是一个错误而不是8层问题)。
在法新社15中,点击网址http://example.dev/images/randomtiles/grass.png根本不起作用。在AFP 11中,仅当我连接到Internet时,才能使用网址http://example.dev/images/randomtiles/grass.png。点击curl
的网址始终有效。直接使用Chrome或Firefox访问网址,始终有效。
用于通过闪存拍摄图像的机制有点长,无法解释,但它基本上是基于装载机:
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会发生什么?或者......我在那里错过了什么? (由于环境问题我无法调试,我仍在努力)。
答案 0 :(得分:0)
您的.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>
&#13;
请注意,在实践中,您可能希望将应允许访问的域列入白名单。