我有最简单的代码。主要课程:
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();
怎么会发生这种情况?
答案 0 :(得分:2)
field
是你的包裹,这就是你不能做field.test()
的原因。因此,您必须选择Field
实例的另一个名称。你可以这样做:
var _field:Field = new Field();
addChild(_field);
_field.test();
希望可以提供帮助。