Trascinare un oggetto

Durante la creazione di siti in Flash, può risultare utile trascinare  un oggetto sul nostro stage.

La sintassi base è questa (Demo) :

mioclip.startDrag(lockCenter, left, top, right, bottom)

Andiamo ad analizzare i vari parametri:

  • lockCenter: “true o false”. Indica se il movieclip trascinato deve essere centrato rispetto al puntatore del mouse.
  • left,top,right,bottom : Indica i parametri di vincolo per il nostro oggetto, sinistra, alto, destra e basso

E’ possibile trascinare un oggetto tramite pressione e rilascio ( Demo), oppure intercettare una collisione (Demo), vediamo il primo caso:

on (press) {
 startDrag(mioclip,lockCenter, left, top, right, bottom);
}
on (release) {
 mioclip.stopDrag();
}

Nell’ evento press del pulsante abbiamo messo il codice, visto prima, per trascinare un oggetto. La new entry è al rilascio del pulsante, dove andremo a fermare il “draggaggio”  dell’oggetto tramite stopDrag();

Nel secondo caso, per intercettare la collisione tra due oggetti, il codice è leggermente diverso:

if (mioclip.hitTest(muro)) {
  //Collisione avvenuta
 } else {
  //Collisione non avvenuta
}

Attraverso mioclip.hitTest possiamo intercettare la collisione (Demo) con un altro oggetto, in questo caso, muro che si troverà sulla root, inseguito con una condizione if eseguiamo le azioni da compiere.

) Drag&Drop: ScaricaDemo
) Drag Vincolato: ScaricaDemo
) Drag Collisione: ScaricaDemo

Annunci

3 thoughts on “Trascinare un oggetto

  1. Ciao julius,

    I tuoi tutorial mi sono davvero utili ma non mi riesce proprio quella del dreg&drop, Non capisco dove sbaglio..
    Io Ho fatto cosi’:
    -Copia incolla dal tuo blog
    -Ho creato una palla in flash su un altro livello
    -Ho trasformato la palla in simbolo e l ho chiamata pallab
    -Nel livello simbolo ho copiato il tuo script
    -Ho modificato mioclip con pallab
    -Prova filmato

    Ma nulla da fare .
    Ti chiedo dove sia l errore perchè non sono molto esperto ma Flash mi esalta come la gnocca!!!

    Grazie ancora e complimeti!!!

    aRQ

  2. Ciao julius.
    Ti faccio i miei complimenti!
    non tanto per la bravura e la professionalità che dimostri ma soprattutto per il tuo impegno nel divulgare conoscenza.
    COMPLIMENTI!

    Il mio problema è semplice.
    Sto facendo un piccolo puzzle con flash.
    All’interno di un quadrato dovranno muoversi 15 quadrati più piccoli.
    Chiaramente uso il comando drag ma non ho idea di come fare ad impedire ai quadratini di uscire dal rettangolo e soprattutto di frli scivolare tra di loro ma senza sovrapporsi.

    Spero di non aver chiesto troppo

    grazie comunque

Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...