Цитата:
Сообщение от S-ed
Этот код не работает?
|
Конечно нет!
Чтобы случалось событие MouseDown, слушателя надо вешать на интерактивный дисплей объект, а это Sprite, MovieClip, Loader и еще некоторые, но никак не Object.
Вот полный рабочий пример:

Код AS3:
import flash.utils.Dictionary;
var dic:Dictionary = new Dictionary();
for(var i:int = 0; i<3; i++)
{
var sprite:Sprite = new Sprite();
var color:uint = Math.random()*0xFFFFFF;
sprite.graphics.beginFill(color);
sprite.graphics.drawRect(0,0,50,50);
sprite.graphics.endFill();
sprite.x = 60*i;
sprite.addEventListener(MouseEvent.CLICK,eventHadnler_mouseClick)
addChild(sprite);
var spriteName:String = "Sprite #" + (i+1);
var object:Object = { color:color, sprite:sprite, name:spriteName }
dic[sprite] = object;
}
function eventHadnler_mouseClick(event:MouseEvent):void
{
var sprite:Sprite = event.currentTarget as Sprite;
var object:Object = dic[sprite];
trace(object.name + ' color is ' + object.color);
}