Клон встроенного SWF-класса - PullRequest
0 голосов
/ 08 марта 2011

Есть ли способ клонировать встроенный класс?Потому что иначе я не могу напрямую использовать свои пользовательские методы.

Встраивание из класса не работает.

package  {
 import flash.display.Sprite;

 public class Player {
     public var player:Sprite;
     [Embed(source = '../lib/player.swf')] private var swf:Class;
     public function Player() {
         this = new swf(); // doesnt work
     }
     public function method1():void {
         return;
     }
 }
}

Встраивание извне класса, также не работает.

package  {
 import flash.display.Sprite;

 public class Main {
     public var player:Player;
     [Embed(source = '../lib/player.swf')] private var swf:Class;
     public function Main() {
         player = Player(new swf()); // doesn't work
         player = new swf() as Player; // doesn't work
     }
 }
}

Или, может быть, есть способ создать экземпляр класса из встраивания и преобразовать его в другой класс?Спасибо.

1 Ответ

2 голосов
/ 08 марта 2011

Я думаю, что вы ищете это:

[Embed(source = '../lib/player.swf', symbol='Player')]
public class Player extends MovieClip
{
    // Continue with class code as before

Если мувиклип, который вы импортируете, имеет только 1 кадр, вам может потребоваться изменить его на Player extends Sprite.Этот фрагмент, конечно, предполагает, что вы экспортировали MovieClip для ActionScript и дали ему имя класса «Player» из Flash IDE.Если у вас возникли проблемы, вы можете посмотреть здесь для пошагового прохождения.

...