Actionscript 3.0:使用字符串作为按钮名称

时间:2013-06-26 09:26:14

标签: actionscript-3

这是我的代码,当我跟踪(this[myButton])给我未定义时,当我发布它时给了我错误:

  

TypeError:错误#1010:术语未定义且没有属性。       在MethodInfo-447()

var buttonsArray:Array = [];

for (var i:int=1;i<allContacts.length+1;i++){

var id:String = "id_";

var b:String = i.toString();

var buttonsvalue:Object =  id + b ; 

buttonsArray[i] = buttonsvalue;

this[buttonsvalue].addEventListener(MouseEvent.CLICK, display_label);

function display_label(e:MouseEvent):void {

var myButton = (e.target.name)

var mySprite:Sprite = new Sprite();

mySprite.graphics.beginFill(0xFFCC00);

mySprite.graphics.drawCircle(10, 10, 10);

mySprite.x=this[myButton].x-6;

mySprite.y=this[myButton].y-6;

addChild(mySprite);
}

1 个答案:

答案 0 :(得分:0)

尝试

mySprite.x=e.target.x-6;

如果使用此[targetName],targetName应该是displayObject的id,而不是displayObject的名称。