【发布时间】:2013-03-05 21:42:10
【问题描述】:
我有一个应用程序从服务器中提取 Bitmap 资源 - 目前我使用 Loader 类来执行此操作,然后,一旦加载它们,根据加载器尺寸生成 BitmapData 并将 Loader 的实例直接绘制到它(BitmapData 用于 Away3D 纹理以及 Bitmap 实例,因此我不需要加载器)。
这一直对我有用,但最近我开始得到 0x0 加载器,结果是无效的 BitmapData。
我不再这样做了:
this.imageBitmap = new BitmapData(this.imageLoader.width, this.imageLoader.height, true, 0);
..并开始这样做:
this.imageBitmap = new BitmapData(event.target.content.width, event.target.content.height, true, 0);
其中 event 是加载程序触发的 Event.COMPLETE 事件。这解决了尺寸问题,但 BitmapData 只是一个纯白色位图(默认情况下它设置为透明,所以它被绘制到其中)。令人沮丧的是,这种情况并非每次都发生,如果我刷新应用程序,它应该在大约 25% 的时间里正常工作,否则它会像这样播放。
我的截止日期很紧,我真的搞砸了,如果有人可以提供帮助或建议更好的方法,你真的会救我的命!
【问题讨论】:
-
听起来像是与安全相关的问题,您是否从跨域获取位图?
-
唉,不,我前段时间修复了跨域问题,但它目前还是沙盒(也没有错误,只是空白加载器)
-
我会在
event.target.content上运行更多与反射相关的代码,例如检查它是什么类型以及它是什么LoaderInfo实例。我见过当 Flash 不支持位图或将文件“错误”为阶段空白 SWF 时,它不会报告错误。 -
我会检查,但即使有这样的错误我也看不到绕过它们的方法,而且这种方法以前一直有效。您知道其他将位图加载到 Flash 中的方法吗?
标签: actionscript-3 flash loader