2013-09-29 2 views
0

Я пытаюсь нарисовать объект видеоролика из класса и напрямую выводить его на экран. Излишне говорить, что я довольно новичок в ActionScript. Это мой класс:Действия: Создание клипов в классе

class Class.player { 
    function create() { 
    _root.createEmptyMovieClip("ship", _root.getNextHighestDepth()); 
    ship._x = 200; 
    ship._y = 390; 
    ship.beginFill(0xFF00AA); 
    ship.moveTo(-20, -12); 
    ship.lineTo(20, -12); 
    ship.lineTo(20, 12); 
    ship.lineTo(-20, 12); 
    ship.lineTo(-20, -12); 
    ship.endFill(); 
    } 
} 

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

import Class.player; 
var Player:player = new player(); 
Player.create(); 

Там нет никакого сообщения об ошибке, и она отлично работает, если я помещаю функцию создания в основной сценарий, но ничего не происходит, если я называю его из класса.

Любые советы будут оценены. Благодаря!

ответ

1

Я бы рекомендовал читать этот пост, чтобы помочь вам: http://brianchau.wordpress.com/2008/01/15/targeting-movieclip-from-an-as3-class-file/

Основной код с веб-сайта:

package 
{ 
import flash.display.MovieClip; 

public class Test extends MovieClip 
{ 
    public static var blackbox_mc:MovieClip = new BlackBox(); 

    public function Test() 
    { 
    this.stage.addChild(blackbox_mc); 
    var myTest:Control = new Control(); 
    } 
} 
} 

Создайте файл класса Control.as со следующим кодом:

package 
{ 
public class Control 
{ 
    public function Control() 
    { 
    Test.blackbox_mc.y = 100; 
    } 
} 
} 

Трюк заключается в создании статической переменной, чтобы на нее можно ссылаться из файла Control.as.

+0

Большое спасибо, что помогло! – Tom

+0

Несомненно! В любой момент! – Domecraft

Смежные вопросы