Con flash è possibile trascinare un oggetto con il mouse, vediamo come.
Realizziamo un esempio in cui l'utente possa trascinare con il mouse l'aereo.
Partiamo da questo filmato di partenza: trascinamento-partenza.fla
Per farlo, useremo un pulsante. Creiamo un pulsante con il disegno dell'aereo (elabora → converti in simbolo - pulsante)
Diamo come nome d'istanza al pulsante creato “aereo”:
Ora selezioniamo il pulsante, apriamo il pannello azioni ed inseriamo questo codice:
//qui facciamo partire il trascinamento //quando si clicca con il mouse: on (press) { //si comincia il trascinamento: startDrag(aereo,true); } //quando si rilascia il mouse: on (release) { //si ferma il trascinamento. stopDrag(); }
Questo il risultato:
Ora abbiamo trascinato un pulsante inanimato, vediamo come trascinare il nostro clip filmato animato dell'aereo:
on (press) { startDrag(this,false); } on (release) { stopDrag(); }
Questo sarà il risultato:
Abbiamo visto che tutte le azioni che sono associate a pulsanti devono essere contenute in blocchi di codice preceduti dall'operatore on.
Allo stesso modo, le azioni associate ai clip filmato devono essere associate all'operatore onclipEvent.
Vediamo gli eventi principali:
Quelli che utilizzeremo di più sono load e enterFrame.
Vediamo come rilevare le collisioni fra gli oggetti: in questo caso rileviamo la collisione fra il nostro aereo (che trasciniamo), ed un albero.
Partiamo dal nostro esempio di trascinamento animato:
onClipEvent (enterFrame) { if (this.hitTest(_root.aereo)) { _root.collisione="collisione!"; } else { _root.collisione="no"; } }
Ora, se trasciniamo il clip dell'aereo sull'albero, il campo di testo dinamico ci segnalerà la collisione.
Scarica file sorgente: trascinamento_collisione.fla
A questo punto possiamo aggiungere suoni, e variazioni di proprietà…
L'esempio è contenuto in questa pagina: esempio_suono
scarica il file sorgente: trascinamento_collisione_suono.fla
Scarica il file creato a lezione: trascinamento_collisione_prova_lezione.fla