я честно говоря не особо разбираюсь в таком создании массивов

Код AS3:
TS = new TestClass(arr[i]['id'] , this);
TS.name = arr[i]['id'],[i]['val'];
эти строчки для меня остаются пока загадкой

Но я подобную проблему решал, тем, что слушатель вешал к функции внутри объекта
грубо говоря dimObject должна находиться в расширенном классе вашей картинки