我正在尝试在我的 flex 应用程序中创建/使用预加载器。预加载器是一个 SWF 文件,它有 100 帧(加载器进度的每个百分比为 1)。基本上我试图在我的应用程序中嵌入这个 SWF 文件,将其显示在屏幕上,并在进度完成时更改显示的帧号。
我到目前为止的代码是(它扩展了 Canvas):
[Embed("/../assets/preLoader.swf")]
private var SWFClass:Class;
private var _preLoader:MovieClip;
private var _progress:Number;
public function set progress(value:Number) : void {
_progress = value;
if(progress < 100) {
_preLoader.gotoAndPlay(progress, null);
}else {
_preLoader.gotoAndStop(0, null);
}
}
[Bindable]
public function get progress() : Number {
return _progress;
}
(Called on creationComplete event)
private function init() : void {
_preLoader = MovieClip(new SWFClass());
this.addChild(_preLoader);
_preLoader.play();
}
我得到的错误是:
TypeError: Error #1034: Type Coercion failed: cannot convert widgets::PreLoader_SWFClass@30b3be51 to mx.core.IUIComponent.at mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::addingChild()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\Container.as:3259]
请帮忙!