- Sun
- 28
- Dec
- 08
Muovere uno sprite usando la tastiera con Actionscript 3.0
Di in Actionscript Controls: +-close
Muoviamo un oggetto alla pressione dei tasti.
In questo articolo vedremo una delle cose più basilari che si possano creare con Actionscript 3.0 e Flash, ovvero muovere un oggetto ( Sprite, Movieclip ecc.. ) nello stage. Per muovere ovviamente intendiamo la modifica delle coordinate x e y.
Chiameremo MainClass.as il file contenente la classe point of entry in cui inseriremo il codice che visualizzerà uno sprite su schermo, in questo caso, un cerchio, che potremo muovere alla pressione dei tasti direzionali.
MainClass.as
package {
import flash.display.*;
import flash.events.*;
import flash.ui.*;
public class MainClass extends Sprite {
private var pallina:Sprite;
public function MainClass(){
pallina = new Sprite();
pallina.graphics.lineStyle(1);
pallina.graphics.beginFill(Math.floor(Math.random()*0xFFFFFF), 1);
pallina.graphics.drawCircle(0, 0, 10);
pallina.x = Math.floor(Math.random()*500);
pallina.y = Math.floor(Math.random()*400);
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
addChild(pallina);
}
private function keyPressed(event:KeyboardEvent):void {
switch(event.keyCode) {
case Keyboard.UP:
pallina.y-=1;
break;
case Keyboard.DOWN:
pallina.y+=1;
break;
case Keyboard.RIGHT:
pallina.x+=1;
break;
case Keyboard.LEFT:
pallina.x-=1;
break;
}
}
}
}
Il codice contenuto nel costruttore crea il cerchio e lo aggiunge allo stage tramite il metodo addChild. Coordinate di partenza e colore sono generate a random. Per abilitare il riconoscimento della pressione dei tasti mettiamo lo stage in ascolto dell’evento KeyboardEvent.KEY_DOWN. Alla pressione dei tasti della nostra tastiera il metodo ‘keyPressed’ sarà richiamato.
All’interno di questo metodo inseriamo uno switch che filtra il keyCode, che corrisponde ad un numero rappresentante un tasto. Per comodità esistono delle costanti rappresentanti i keycode dei tasti più comuni, ad esempio Keyboard.UP corrisponde al numero 38, Keyboard.DOWN al numero 40, LEFT e RIGHT rispettivamente a 37 e 39, lo potete notare voi stessi aggiungendo un trace(event.keyCode) subito prima dello switch ( utile anche per trovare il corrispettivo keycode degli altri tasti ).
Dipendentemente dal tasto direzionale premuto, il nostro cerchio incrementerà o decrementerà di 1px la coordinata x o y.
Il risultato ottenuto è il seguente:
Si conclude qui questo tutorial, per dubbi commentate qui di seguito.
Related posts:
- Personalizzare il puntatore del mouse con Actionscript 3.0 Usando la classe Custom Mouse Pointer Per le nostre applicazioni...
- Esportare modelli poligonali con AS3 Geom Class Exporter Utilizziamo modelli poligonali realizzati con 3DStudio Max in Flash Come...
Related posts brought to you by Yet Another Related Posts Plugin.











