Non vedo dove sta il problema.
Puoi aggiungere delle azioni lineTo dopo quella che disegna la diagonale, in modo da ottenere il rettangolo attorno ad essa.
Non hai bisogno nemmeno di creare un altro contenitore, ma puoi adoperare sempre lo stesso.
Ecco lo script modificato:
Codice PHP:
// creo un oggetto listener
var mouseListener:Object = new Object();
// aggiungo il listener per gli eventi del mouse
Mouse.addListener(mouseListener);
// creo un contenitore per la linea
createEmptyMovieClip("line_mc", 10);
// creo l'evento "pigio il pulsante del mouse"
mouseListener.onMouseDown = function() {
// memorizzo il punto iniziale da cui tracciare la linea
var x_start = _xmouse;
var y_start = _ymouse;
// creo l'evento "muovo il mouse" assegniandolo al clip contenitore
line_mc.onMouseMove = function() {
// ripulisco questo contenitore da qualsiasi disegno creato precedentemente
clear();
// assegno uno stie alla linea da disegnare
lineStyle(5, 0xcccccc, 100);
// imposto il punto iniziale
moveTo(x_start, y_start);
// disegno la linea dal punto iniziale fino alle nuove coordinate
lineTo(_xmouse, _ymouse);
// proseguo la linea creando attorno un rettangolo
lineTo(x_start, _ymouse);
lineTo(x_start, y_start);
lineTo(_xmouse, y_start);
lineTo(_xmouse, _ymouse);
// aggiorno il display per rendere fluida l'animazione al movimento del mouse.
updateAfterEvent();
};
};
// creo l'evento "rilascio il pulsante del mouse"
mouseListener.onMouseUp = function() {
// elimino l'evento "muovo il mouse"
delete line_mc.onMouseMove;
};