Flash AS3从外部swf库加载符号
我有两个SWF,其中一个(我们称之为Flash AS3从外部swf库加载符号,flash,actionscript-3,Flash,Actionscript 3,我有两个SWF,其中一个(我们称之为Resources.SWF),在它的库中包含几个符号(大多数是MovieClips),但是,没有一个符号被添加到舞台中(时间轴只包含一个空帧), 然后是另一个swf(Main.swf),我需要从另一个swf导入一些符号 我一直在四处寻找,但我看到的所有信息和尝试的信息都使用以下方式从舞台/时间轴导入符号: loadedMC = MovieClip(loader.content); 或 我的符号有一个类定义,因为它们也以这种方式在其他swf中使用: [Embe
Resources.SWF
),在它的库中包含几个符号(大多数是MovieClips),但是,没有一个符号被添加到舞台中(时间轴只包含一个空帧),
然后是另一个swf(Main.swf
),我需要从另一个swf导入一些符号
我一直在四处寻找,但我看到的所有信息和尝试的信息都使用以下方式从舞台/时间轴导入符号:
loadedMC = MovieClip(loader.content);
或
我的符号有一个类定义,因为它们也以这种方式在其他swf中使用:
[Embed(source='assets/Resources.swf', symbol='SymbolName')]
public class Generic2 extends MovieClip
有没有办法做到这一点
如果没有,我是否需要修改Resources.swf来解决这个问题,或者我是否有其他选择?加载Resources.swf后,您可以创建加载类的实例 下面是一个可能有帮助的片段:
var dynClass : Class = Class(getDefinitionByName("fully.qualified.ClassName"));
if(dynClass)
{
var app : Object = new dynClass();
addChild(app as DisplayObject);
}
加载Resources.swf后,可以创建已加载类的实例 下面是一个可能有帮助的片段:
var dynClass : Class = Class(getDefinitionByName("fully.qualified.ClassName"));
if(dynClass)
{
var app : Object = new dynClass();
addChild(app as DisplayObject);
}
您需要有一个as3类,或者只导出框架中的符号,否则无法引用它。如果不导出movieclip,您的swf将为空。。。基本上,您可以将其导出为某个类,然后引用空类 您需要有一个as3类,或者只导出框架中的符号,否则无法引用它。如果不导出movieclip,您的swf将为空。。。基本上,您可以将其导出为某个类,然后引用空类 遵循以下步骤
public function createInstance(mc:MovieClip, className:String, instName:String):MovieClip
{
var cls:Class = mc.loaderInfo.applicationDomain.getDefinition(className) as Class;
if (cls)
{
var instMC:MovieClip = new cls();
instMC.name = instName;
return instMC;
}
return null;
}
遵循以下步骤
public function createInstance(mc:MovieClip, className:String, instName:String):MovieClip
{
var cls:Class = mc.loaderInfo.applicationDomain.getDefinition(className) as Class;
if (cls)
{
var instMC:MovieClip = new cls();
instMC.name = instName;
return instMC;
}
return null;
}
如果没有与此对象相关联的as3类,此操作是否有效?如果我的类名只是MyClassName,那将是它的完全限定名?不,库对象上必须有一个类定义(您写道:“我的符号有一个类定义”)。是的,如果不使用名称空间,类名就足够了。如果没有与此对象关联的as3类,这是否有效?如果我的类名只是MyClassName,那将是它的完全限定名?不,库对象上必须有一个类定义(您写道:“我的符号有一个类定义”)。是的,如果不使用名称空间,那么类名就足够了。