Flash: disegnare in un'area

Di: Nail | 26/09/2020 18:11:16
Ciao a tutti, ho usato questa stringa di codice applicata al primo fotogramma per poter tracciare delle linee con l'uso del mouse in un file.swf
Mi domandavo come si può creare un'area ben precisa all'interno della quale si può "disegnare" col mouse e non sull'intero file.
Grazie.
this.createEmptyMovieClip("canvas_mc", 999);
var isDrawing:Boolean = false;
//
clear_btn.onRelease = function() {
canvas_mc.clear();
};
//
var mouseListener:Object = new Object();
mouseListener.onMouseDown = function() {
canvas_mc.lineStyle(5, 0xFF0000, 100);
isDrawing = true;
};
mouseListener.onMouseMove = function() {
if (isDrawing) {
canvas_mc.lineTo(_xmouse, _ymouse);
updateAfterEvent();
}
};
mouseListener.onMouseUp = function() {
isDrawing = false;
};
Mouse.addListener(mouseListener);

Risposte



Ciao Nail,
la prima soluzione che mi viene in mente è di mascherare il movieclip su cui stai disegnando...
mascheraX = 0;
mascheraY = 50;
mascheraW = 100;
mascheraH = 200;
this.createEmptyMovieClip("masker_mc", 1000);
with (masker_mc) {
beginFill(0x000000);
moveTo(mascheraX, mascheraY);
lineTo(mascheraX, mascheraY+mascheraH);
lineTo(mascheraX+mascheraW, mascheraY+mascheraH);
lineTo(mascheraX+mascheraW, mascheraY);
lineTo(mascheraX, mascheraY);
endFill();
}
this.createEmptyMovieClip("canvas_mc", 999);
canvas_mc.setMask(masker_mc);
var isDrawing:Boolean = false;
//
clear_btn.onRelease = function() {
canvas_mc.clear();
};
//
var mouseListener:Object = new Object();
mouseListener.onMouseDown = function() {
canvas_mc.lineStyle(5, 0xFF0000, 100);
isDrawing = true;
};
mouseListener.onMouseMove = function() {
if (isDrawing) {
canvas_mc.lineTo(_xmouse, _ymouse);
updateAfterEvent();
}
};
mouseListener.onMouseUp = function() {
isDrawing = false;
};
Mouse.addListener(mouseListener);
Ho lasciato fuori le quattro variabili mascheraX, mascheraY, mascheraW e mascheraH... le puoi usare per inserire rispettivamente la coordinata x, la coordinata y, la larghezza e l’altezza del rettangolo dentro il quale il disegno sarà visibile.

Di: Professore | 26/09/2020 18:11:16


Grazie mille funziona benissimo
Ciao.

Di: Nail | 26/09/2020 18:12:16