quelqu'un peut-il s'il vous plaît m'aider à ce sujet. ci-joint est le fla qui a une partie du code que je travaille sur un projet.événement de la souris ne fonctionne pas correctement
Avec l'aide de la souris, vous pouvez dessiner un cercle sur l'image, mais pour certaines raisons, l'événement de la souris ne fonctionne pas. cela fonctionne bien quand l'eventlisteners est attaché à la scène, mais ne fonctionne pas quand il est attaché au movieclip.
comment puis-je limiter le cercle à dessiner seulement à l'intérieur du MovieClip qui est un rectangle.
ici est le code
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);
}
Hé, vous devriez voter ou marquer comme réponses qui répondent à votre question. Si vous pensez que j'aurais pu être plus utile, s'il vous plaît commenter et je vais étoffer ma réponse plus complètement. – alecmce