错误:调用可能未定义的方法

时间:2015-01-30 14:04:07

标签: actionscript-3

我有最简单的代码。主要课程:

package 
{
import field.Field;
import flash.display.Sprite;
import flash.events.Event;

public class Main extends Sprite 
{

    public function Main():void 
    {
        if (stage) init();
        else addEventListener(Event.ADDED_TO_STAGE, init);
    }

    private function init(e:Event = null):void 
    {
        removeEventListener(Event.ADDED_TO_STAGE, init);

        var field:Field = new Field();
        addChild(field);
        field.test();
    }
}
}

和一个Field类:

package field 
{
import flash.display.Sprite;

public class Field extends Sprite 
{

    public function Field() 
    {
        super();

    }

    public function test():void
    {

    }

}
}
提供了

测试方法。 但是当我尝试编译时,我得到了这个:
Main.as(26): col: 10 Error: Call to a possibly undefined method test. field.test();

怎么会发生这种情况?

1 个答案:

答案 0 :(得分:2)

field是你的包裹,这就是你不能做field.test()的原因。因此,您必须选择Field实例的另一个名称。你可以这样做:

var _field:Field = new Field();
addChild(_field);
_field.test();

希望可以提供帮助。