Sicuramente vi sarà capitato di domandarvi (nel caso in cui ovviamente non siate in grado di farlo) se fosse mai possibile creare in Flash forme vettoriali, più o meno complesse, durante la fase di run-time o più semplicemente mentre visualizzate il vostro filmato.
Il tutorial che andremo ad illustrare mostrerà proprio questo: come disegnare in Flash mentre il filmato è in esecuzione.
Partiamo quindi dal concetto che dobbiamo suddividere la nostra attività in 3 fasi principali:
- quando pigiamo il mouse (mouseDown)
- quando muoviamo il mouse mentre lo premiamo (mouseMove)
- quando rilasciamo il mouse perchè abbiamo finito di disegnare (mouseUp)
Non da ultimo, consideriamo che per disegnare, utilizzeremo una movieClip (ovviamente vuota).
Per prima cosa quindi creiamo una clip vuota e un oggetto per i nostri 3 "stati" sovraesposti.
var colora:Object=new Object();
this.createEmptyMovieClip("as_mc", 1);
var disegna:Boolean=new Boolean();
disegna=false;
Abbiamo anche inserito una variabile booleana (disegna) che permetterà a flash di capire che se stiamo muovendo il mouse e la variabile è impostata su false, non deve tracciare alcunchè.
Quindi utilizzeremo l'oggetto "colora" come listener dei tre eventi. Cominciamo col primo:
colora.onMouseDown=function(){
disegna=true;
as_mc.beginFill(0xFF0000, 100);
as_mc.moveTo(_xmouse, _ymouse);
as_mc.lineTo(_xmouse, _ymouse);
}
Questo script permetterà di disegnare dal momento in cui l'utente pigierà il mouse.
colora.onMouseUp=function(){
disegna=false;
}
Qui invece indichiamo a Flash di fermare il disegno quando l'utente rilascia il mouse.
colora.onMouseMove=function(){
if(disegna){
as_mc.lineTo(_xmouse, _ymouse);
updateAfterEvent();
}
}
Con quest'ultimo invece, indichiamo che se la variabile "disegna" è ancora vera - quindi l'utente sta muovendo il mouse mentre lo tiene premuto - Flash continua a disegnare la forma.
Mouse.addListener(colora);
Registriamo quindi l'evento.







