Добавление мувиклипа из метода класса - PullRequest
0 голосов
/ 15 июня 2010

Я пытался добавить мувиклип в мой файл .fla из класса.

мой основной FLA-файл: main.fla файл сценария действий: 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);


    }
}

}

Я использую функцию создания, чтобы создать и добавить мувиклип из файла main.fla.

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

Вывод дает "создал", но я не вижу мувиклипа "myfan" внутри выведенного SWF-файла.

Я искал весь день, но не смог найти очень много.

Как я могу добавить мувиклип из файла класса?

Спасибо за помощь.

1 Ответ

2 голосов
/ 16 июня 2010

Я немного сбит с толку относительно того, как вы присоединяете 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);
}

Чтобы узнать, получите ли вы что-нибудь.

...