从类方法中添加MovieClip

时间:2010-06-15 14:22:01

标签: actionscript-3 flash-cs4 movieclip

我一直在尝试从类中添加一个movieclip到我的.fla文件中。

我的主要文件:main.fla actionscript文件:script.as

他们留在同一个目录。

script.as文件如下:

package  {
import flash.display.*

public class MyClass extends MovieClip
{
    public var target:MovieClip;

    public function MyClass() 
    { 
        init();

    }

    public function init() //if this method will be runed only inside class it should be private not public
    {
        trace('created');

    }
    public function create()
    {
        target = new myfan();
        target.x = 400;
        target.y = 50;
        stage.addChild(target);


    }
}

}

我使用create function来创建main.fla文件中的movieclip。

var trying:MyClass = new MyClass();
trying.create();

输出给出“创建”但我在输出的swf文件中看不到“myfan”movieclip。

我一直在搜索,但找不到很多。

如何从类文件中添加动画片段?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

关于如何将script.as附加到swf,我有点困惑。 AS3中的类必须位于与类名完全相同的文件中 - 因此您的文件应该被命名为MyClass.as作为第一点。

第二个问题是myfan究竟是什么?它是你图书馆的象征吗?该符号包含什么?如果将符号拖到舞台上而不是尝试使用ActionScript实例化它会发生什么?

最后,如果你要实例化MyClass你在哪里这样做?在时间轴内的电影的第一帧?我注意到你没有随时将变量trying添加到显示列表中......这意味着变量stage可能为空。尝试添加:

public function create()
{
    target = new myfan();
    target.x = 400;
    target.y = 50;
    trace("Stage here?:", stage);
    stage.addChild(target);
}

看看你是否得到任何东西。