Actionscript 3 Can';嵌套对象后的t触发器类函数(AS3)

Actionscript 3 Can';嵌套对象后的t触发器类函数(AS3),actionscript-3,class,methods,nested,user-defined-functions,Actionscript 3,Class,Methods,Nested,User Defined Functions,我创建了一个名为item的类。此类使用函数itemdata()返回其变量; 我正在创建此类的对象实例,并通过以下方式将它们添加到另一个对象: //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= n

我创建了一个名为item的类。此类使用函数itemdata()返回其变量; 我正在创建此类的对象实例,并通过以下方式将它们添加到另一个对象:

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

//--
但是,在单击项目后尝试访问其变量时(以以下方式:)

我得到一个错误,说:

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

这就解决了!非常感谢:D
var t:DisplayObject = DisplayObject(event.target);