Привет всем.
Есть скрипт, который после второго клика пользователя по мувику "field" рисует стрелку по двум координатам. После создания пытаюсь определить стрелке событие onPress, но ничего не получается. Подскажите, как можно отследить это событие.
Actions для клипа "field":

Код AS1/AS2:
on (press) {
// рисование стрелки
function Arrow(objName:String, x1:Number, y1:Number, x2:Number, y2:Number, color, alpha) {
if(color == undefined) color = 0x000000;
if(alpha == undefined) alpha = 100;
var mc:MovieClip = _root.field.createEmptyMovieClip( objName, _root.field.getNextHighestDepth());
mc.lineStyle(2, 0, 100);
mc.moveTo(x1, y1);
mc.lineTo(x2, y2);
// рисуем стрелку на конце линии
var arrow:MovieClip = mc.attachMovie( "arrowHead", "arrowHead", 0 );
arrow._x = x2;
arrow._y = y2;
arrow._rotation = Math.atan2(y2 - y1, x2 - x1 ) * ( 180 / Math.PI );
// пытаемся определить функцию для события клика по стрелке
// этот вариант не работает
mc.onPress = function():Void {
trace(1);
}
// этот тоже
var listener:Object = {};
listener.onPress = function():Void {
trace(1);
}
mc.addListener(listener);
return mc;
}
/* Если включен режим рисования стрелок */
if(_root.drawMode) {
// первый клик
if(_root.c.length == 0) {
// запоминаем координаты
_root.c[0] = [_root.field._xmouse, _root.field._ymouse];
}
// второй клик
else if(_root.c.length == 1) {
// запоминаем координаты
_root.c[1] = [_root.field._xmouse, _root.field._ymouse];
// массив со стрелками
var ArrowName:String = "arrow" + _root.arrows.length;
_root.arrows.push(ArrowName);
// рисуем стрелку
_root.arrows[ArrowName] = Arrow(ArrowName, _root.c[0][0], _root.c[0][1], _root.c[1][0], _root.c[1][1]);
// очищаем координаты
_root.c = new Array();
// функция отключает режим рисования
_root.toogleDrawMode();
}
}
}
// _root.c - массив с координатами стрелки
Рисование стрелки работает на ура, а вот хочется еще добавить возможность ее редактирования. Заранее благодарю.