Я думаю, что имя, которое вы назначаете своим экземплярам TargetArea, автоматически не преобразуется в свойство объекта DisplayObject, к которому вы его прикрепляете.Насколько я помню, хотя этот небрежный способ доступа к MovieClips с использованием доступа к массиву работал до AS3.Более элегантное решение - извлечь дочерний объект с помощью getChildByName ().
trace(game_mc.getChildByName(targetName).x);
Кроме того, в случае, когда game_mc является экземпляром MovieClip или динамическим классом, вы можете сделать экземпляры TargetArea его свойством, используя:
game_mc[targetArea.name] = targetArea;
Таким образом, вы можете получить к ним доступ, используя game_mc [имя] .property впоследствии.