Может кто-нибудь, пожалуйста, помогите мне в этом. прилагается fla, который имеет часть кода, над которым я работаю для проекта.mouse up event не работает должным образом
с помощью мыши вы можете нарисовать круг на изображении, но по некоторым причинам событие mouse up не работает. он отлично работает, когда участники событий присоединяются к сцене, но не работают, когда он прикреплен к мувиклипу.
также как я могу ограничить круг, который будет нарисован только внутри мувиклипа, который является прямоугольником.
здесь код
const CANVAS:Sprite = new Sprite();
var _dragging:Boolean = false;
var _corner:Point;
var _corner2:Point;
menFront.addEventListener(MouseEvent.MOUSE_DOWN, setAnchor);
menFront.addEventListener(MouseEvent.MOUSE_UP, completeRect);
function setAnchor(e:MouseEvent):void{
trace("mouse down");
if(!_dragging){
CANVAS.graphics.clear();
_corner = new Point(e.stageX, e.stageY);
_dragging = true;
menFront.addEventListener(MouseEvent.MOUSE_MOVE, liveDrag);
}
}
function completeRect(e:MouseEvent):void{
trace("mouse up");
if(_dragging){
_dragging = false;
menFront.removeEventListener(MouseEvent.MOUSE_MOVE, liveDrag);
CANVAS.graphics.lineStyle(0, 0, 0);
CANVAS.graphics.beginFill(0x222222,.5)
_corner2 = new Point(e.stageX, e.stageY);
trace(Point.distance(_corner,_corner2).toFixed(2));
CANVAS.graphics.drawCircle(_corner.x, _corner.y, Point.distance(_corner,_corner2));
addChild(CANVAS);
}
}
function liveDrag(e:MouseEvent):void{
CANVAS.graphics.clear();
CANVAS.graphics.lineStyle(0, 0x999999);
_corner2 = new Point(e.stageX, e.stageY);
//trace(Point.distance(_corner,_corner2).toFixed(2));
CANVAS.graphics.drawCircle(_corner.x, _corner.y, Point.distance(_corner,_corner2));
addChild(CANVAS);
}
Эй, вы должны проголосовать или отметить как ответные ответы, которые касаются вашего вопроса. Если вы чувствуете, что я мог бы быть более полезным, прокомментируйте, и я буду более полно излагать свой ответ. – alecmce