0

我有一个字体类,它加载一个 png 文件和一个 xml 文件,它指定字形在位图上的位置。字体加载功能启动了 2 个加载器,一个用于 png,一个用于 xml。当它们都完成时,初始化函数运行。奇怪的是,当我从 Flash Builder 运行应用程序并且它在 IE 中运行良好时,一切正常,但是当我使用 chrome 并且没有通过 Flash Builder 运行时,并且内容之前已经加载过一次(清除浏览器缓存可以解决问题)然后以下行挂起:

public function bitmapLoadComplete(evt:Event):void
{
    mObject = LoaderInfo(evt.target).content;  // <--- hangs here
    itemLoaded();
}

mObject 声明如下:

public var mObject:*;

itemLoaded 递减一个计数器(初始化为 2),如果它为零,则表示两个资产都已加载并运行 init 函数。

有任何想法吗?

资产位于此处:

https://s3.amazonaws.com/IceCreamSoftware/letters0.png https://s3.amazonaws.com/IceCreamSoftware/letters.bitmapfont

4

1 回答 1

0

我未能将 checkPolicyFile 设置为 true 的 LoaderContext 传递给 Loader 对象的 load() 方法。这导致了 Chrome 嵌入式 Flash 播放器没有通知我的安全沙盒违规。禁用内置播放器并使用调试插件会弹出一个对话框,告诉我发生了什么。吸取了所有好的教训。奇怪的是:

1) Clearing the browser cache allowed the content to be loaded one time in Chrome
2) It always worked in IE
于 2013-01-22T16:48:53.333 回答