actionscript-3 – AS3,在SWF中加载为自定义类型
发布时间:2020-12-15 07:26:31 所属栏目:百科 来源:网络整理
导读:这里的基本问题.通常在AS3中,您通过Loader加载SWF,而您获得的是某种类型为“Loader”的伪MovieClip. 假设SWF是使用自定义类型的基类发布的,那么在阳光下是否有任何神圣的方式将此加载的SWF强制转换为扩展MovieClip而不是Loader的自定义类型?没有数据丢失?
这里的基本问题.通常在AS3中,您通过Loader加载SWF,而您获得的是某种类型为“Loader”的伪MovieClip.
假设SWF是使用自定义类型的基类发布的,那么在阳光下是否有任何神圣的方式将此加载的SWF强制转换为扩展MovieClip而不是Loader的自定义类型?没有数据丢失? 或者,假设你不能,你甚至可以从扩展Loader本身的自定义类型转换它吗? 解决方法
你可以这样做:
存根swf中的代码: package { import flash.display.MovieClip; public class Stub extends MovieClip implements IStub { public function Stub() { trace("Stub::ctor"); } public function traceIt(value:String):void { trace("Stub::traceIt " + value); } } } 我正在使用一个界面,但它并不是严格必要的. package { public interface IStub { function traceIt(value:String):void; } } 代码在“主要”瑞士法郎. var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.INIT,handleInit); loader.load(new URLRequest("Stub.swf")); function handleInit(e:Event):void { var stub:Stub = loader.content as Stub; // or,using an interface // var stub:IStub = loader.content as IStub; stub.traceIt("testing"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |