而不是
public class MyMainMovieClip extends MovieClip {
public function MySliderComponent() {
var myLoader:Loader = new Loader();
myLoader.load(new URLRequest("MySWF.swf"));
myZone.addChild(myLoader);
myZone.addChild(c);
}
我可以像往常一样实例化:
public class MyMainMovieClip extends MovieClip {
public var c:MySWF = new MySWF();
public function MySliderComponent() {
c.visible = true;
myZone.addChild(c);
}
我在第二种情况下没有得到任何错误,但没有任何错误显示但是保持空白。
答案 0 :(得分:1)
你可以从文档类创建movieclip的新实例,但是flash无法知道这个类属于哪个FLA,这就是为什么你没有错误,但什么也看不见..
答案 1 :(得分:1)
是的,你可以!让我们考虑两种情况。
如果您正在使用Flash进行编译,并且movieclip位于库中。首先必须为它设置“链接名称”。这将是标识此特定动画片段的类的名称。然后实例化它:
var clipClass:Class = getDefinitionByName("linkageName") as Class;
var myClip:MovieClip = new clipClass() as MovieClip;
addChild(myClip);
它的更快版本(但不太严格)
var myClip:MovieClip = new linkageName() as MovieClip;
addChild(myClip);
如果您正在使用Flash进行编译,您所能做的就是使用Loader
加载swf,然后合并两个库,您可以使用与上面相同的代码。
如果您正在使用Flex SDK进行编译,您实际上可以从外部库中将特定的动画片段嵌入到SWF中。
AS3
[Embed(source='../bin/library.swf', symbol='linkageName')]
private const clipClass:Class;
...
var myClip:MovieClip = new clipClass() as MovieClip;
addChild(myClip);
请注意,我在任何地方都使用过课程MovieClip
,但他们只有一个框架可以使用Sprite
代替。