0

我一直在尝试从一个类中向我的 .fla 文件中添加一个影片剪辑。

我的主要 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 函数从 main.fla 文件创建添加影片剪辑。

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

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

我一直在寻找一整天,但找不到太多。

如何从类文件中添加影片剪辑?

谢谢你的帮助。

4

1 回答 1

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);
}

看看你有没有得到什么。

于 2010-06-15T23:04:10.020 回答