嵌套对象后无法触发类函数 (AS3)



我创建了一个类item。这个类通过函数itemdata()返回它的变量;我正在创建这个类的对象实例并通过this将它们添加到另一个对象中:

//Item Creation
function additem(Name:String,file:Class,workswith:String,tu rnsinto:String,examine:String,X:Number,Y:Number) {
var itemname:item = new item();
var ItemDB:Array= new Array();
itemname.create(Name,file,workswith,turnsinto,exam ine,X,Y);
itemname.addChild(itemname.itemdata("filename")); 
ItemDB.push(itemname);
var itemindb:int = ItemDB.length-1;
Items.addChild(ItemDB[itemindb]);
}
//--

然而,当试图访问项目的变量后,它被点击(以以下方式)

stage.addEventListener (MouseEvent.CLICK,InventoryPickup);
function InventoryPickup(event:MouseEvent):void {
var t:DisplayObject = DisplayObject(event.target);
if (t.parent==Items){
t.itemdata();
}
}

我得到一个错误说:

1061: Call to a possibly undefined method itemdata through a reference with static type flash.display:DisplayObject.

知道我做错了什么吗?谢谢!

因为您将var t定义为DisplayObject,现在它没有方法itemdata,因为它不是Item类的实例…
试试这个:

var t:Item = Item(event.target); 

代替:

var t:DisplayObject = DisplayObject(event.target);

最新更新