该消息表明(正如其他响应者所说)您正在对 Loader 或其在显示树中的某些上级应用一些 3D 转换。
然而,意外的巨大尺寸的原因可能是另一个原因。
这通常发生在尝试将宽度或高度属性设置为仍为空的显示对象时(即在加载程序完成加载之前)。如果这样做(即当对象仍然为空时 someobject.width=240),则对其应用无限缩放;然后,一旦对象实际上被填充了一些东西(即加载器完成加载),你最终会得到一个巨大的对象。
在您的情况下,您似乎在 Loader 完成加载时正在设置尺寸(所以它不应该发生);但是我记得遇到过 Flash 运行时错误,其中对象的 width/height 属性在应该更新的时候没有更新,导致了这个问题,尽管我不是 100% 确定这是你的情况。
如果是这种情况,解决方法是直接设置 scaleX 和 scaleY 属性而不是 width 和 height 属性。如果您事先知道加载图像的预期尺寸,您可以编写:
private function loaded(event:Event):void
{
var targetLoader:Loader = Loader(event.target.loader);
targetLoader.scaleY = targetLoader.scaleX = 240/EXPECTED_WIDTH_HERE;
}
否则,您可以使用 LOADERINFO 对象的 width 和 height 属性而不是 Loader 对象的属性。这些告诉您加载图像的“标称”大小:
private function loaded(event:Event):void
{
var targetLoader:Loader = Loader(event.target.loader);
targetLoader.scaleY = targetLoader.scaleX = 240/targetloader.contentLoaderInfo.width;
}