Creazione di una funzionalità drag-and-drop in ActionScript 3 (AS3) è un'impresa relativamente semplice. Con poche righe di codice, è possibile trascinare e rilasciare qualsiasi elemento in Flash. Il modo più semplice per implementare funzionalità di drag-n-drop è tramite l'uso del metodo startDrag () metodi di MovieClip e stopDrag (). Solitamente si tratta di un evento del mouse che viene attivato all'interno dell'applicazione Flash. La funzionalità di drag-and-drop ha molte varianti che possono essere utilizzate per implementare diverse azioni all'interno del Flash.
Istruzioni
1
Aprire il tuo programma Flash e impostare gli oggetti da utilizzare per questo progetto. Disegnare o importare la grafica o elementi che si desidera trascinare e impostarle sul palco principale. Per importare un oggetto già pronto, selezionare "File" "Importare" "Importa nello Stage."
2
Convertire l'oggetto creato o importato in un simbolo facendo clic su di esso e premendo F8. In questo caso, l'oggetto "ball_mc" il nome e definirla come un clip filmato utilizzando l'elenco a discesa fornito. Si noti che l'oggetto verrà fatto riferimento nel codice AS3 utilizzando questo nome.
3
Fare clic con il pulsante destro sul "Livello 1" sulla timeline e selezionare "Inserisci livello." Nome del nuovo layer "Azioni".
4
Fare clic sul fotogramma 1 del livello di "Azioni" e premere F9. Aggiungere il codice riportato di seguito nella finestra di popup:
ball_mc.addEventListener (MouseEvent.MOUSE_DOWN, trascinamento);
ball_mc.addEventListener (MouseEvent.MOUSE_UP, goccia);
Function drag(event:MouseEvent):void () {
ball_mc.startDrag();
}
Function drop(event:MouseEvent):void () {
ball_mc.stopDrag();
}
5
Premere "Ctrl + Invio" per verificare la funzionalità di drag-and-drop.
Consigli & Avvertenze
- Oggetti trascinati possono essere controllati mediante la definizione dei limiti oltre i quali non possono attraversare gli oggetti. Questa limitazione è raggiunto mediante la definizione di x, y, parametri di altezza e larghezza della zona di delimitazione come illustrato nel codice riportato di seguito:
- Coordina la x & y
- var my_x:int=stage.stageWidth-ball_mc.width;
- var my_y:int=stage.stageHeight-ball_mc.height;
- L'altezza e la larghezza
- var myWidth:int = 0-my_x;
- var myHeight:int = 0-my_y;
- Creare una nuova istanza della classe rectangle con le coordinate di cui sopra.
- var boundArea:Rectangle = new Rectangle (my_x, my_y, myWidth, myHeight);
- Il mouse su e giù i listener di eventi
- ball_mc.addEventListener (MouseEvent.MOUSE_DOWN, trascinamento);
- ball_mc.addEventListener (MouseEvent.MOUSE_UP, goccia);
- Questa funzione trascina l'oggetto ma limita ai confini di fase.
- Function drag(event:MouseEvent):void () {
- ball_mc.startDrag(false,boundArea);
- }
- Questa funzione rilascia l'oggetto palla.
- Function drop(event:MouseEvent):void () {
- ball_mc.stopDrag();