Flash AS3: Получение этой ошибки: Доступ к неопределенному свойству - необходима базовая помощь :( - PullRequest
0 голосов
/ 21 сентября 2009

Я все еще привык к стилю AS2 для всего кода на 1 кадре, я пытаюсь кодировать AS3 в файлах классов, и у меня возникают проблемы с базовой настройкой пакета. Проблемы с областью убивают меня при попытке освоить AS3. Ниже приведен код моего пакета, у меня нет других файлов классов, я просто пытаюсь вернуть простую трассировку.

Ошибка, которую я получаю после запуска приведенного ниже кода: 1120: доступ к неопределенному свойству tc.


Основной класс

package 
{
    import src.*;
    import flash.display.MovieClip;

    // Custom imports to go here
    import src.tradeclass.TradeFrame;   

    public class TraceClass extends MovieClip
    {
        public var tc:TradeFrame;

        public function TraceClass(traceText:String):void
        {
            // Constructor function
        }

    }

    tc = new TradeFrame("hello");
    //TraceClass.TradeFrame("hello");

}

Подкласс

package src.traceclass 
{
    import src.*;
    import flash.display.MovieClip;

    public class TradeFrame extends MovieClip
    {

        public function TradeFrame(traceText:String):void
        {
            // Constructor function
            trace(traceText);
        }
    }
}

Ответы [ 2 ]

1 голос
/ 21 сентября 2009

Основной класс должен быть:

package src 
{

import flash.display.MovieClip;

// Custom imports to go here
import src.tradeclass.TradeFrame;       

public class TraceClass extends MovieClip
{
        public var tc:TradeFrame;

        public function TraceClass(traceText:String = "default text"):void
        {
                // Constructor function
              tc = new TradeFrame("hello");

        }

}

Подкласс должен быть:

package src.tradeclass {

import flash.display.MovieClip;

public class TradeFrame extends MovieClip
{

        public function TradeFrame(traceText:String):void
        {
                // Constructor function
                trace(traceText);
        }

}
1 голос
/ 21 сентября 2009

Вы не можете вызвать такой конструктор. Вам нужно будет сделать что-то вроде:

var tc = new TraceClass("hello");

РЕДАКТИРОВАТЬ: (после перечитывания) Или попробуйте TraceClass.TraceClass ("привет");

...