I have this code:
for each(var tool in tools){ tool.addEventListener(MouseEvent.MOUSE_DOWN, function(){ trace(tool); //Always the last tool }); }
use as3 signals
http://www.peterelst.com/blog/2010/01/22/as3-signals-the-best-thing-since-sliced-bread/
It can cater your problem nicely. Once I have tried signal I can't go back. It's much better than the event system in as3