0

我仍然习惯于 1 帧上所有代码的 AS2 样式,我正在尝试在类文件中编写 AS3 代码,但我遇到了基本包设置的问题。尝试学习 AS3 时,范围问题让我很生气。下面是我的包代码,我没有其他类文件,只是想返回一个简单的trace。

运行以下代码后出现的错误: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);
        }
    }
}
4

2 回答 2

1

主类需要是:

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

}
于 2009-09-21T17:04:37.943 回答
1

你不能这样称呼一个建造者。您需要执行以下操作:

var tc = new TraceClass("hello");

编辑:(重新阅读后)或者,尝试 TraceClass.TraceClass("hello");

于 2009-09-21T16:15:26.533 回答