Nwlapcug.com


Come trascinare oggetti con AS3

Come trascinare oggetti con AS3


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();