Gestion du pavé directionnel
- Introduction
- Informations
Déplacer un objet avec le pavé directionnel n'est pas très difficile à gérer en AS3.Et avec ce tutoriel cela n'aura plus de secrets pour vous.
- Auteur : Netger
- Publication : 13 juil. 2008 20:46
- Consultations : 2569
1. Déclaration des variables
Créez un nouveau document et ouvrez le panneau ActionScript.
Nous allons commencer par déclarer les variables globales de ce petit script.Afin de posséder un objet à déplacer avec le pavé directionnel, je déclare un "Sprite" mais vous pouvez très bien utiliser autre chose (image, movieClip, ...)
Les 4 booléen déclarés ensuite permettront d'indiquer au script l'état des touches du pavé directionnel.
Notez les lignes suivantes dans le panneau AS :
Code-source actionscript
var rectangle:Sprite = new Sprite();
var droite:Boolean = new Boolean ();
var haut:Boolean = new Boolean ();
var gauche:Boolean = new Boolean ();
var bas:Boolean = new Boolean ();
2. Fonctions liées au déplacement
Nous allons maintenant écrire 3 fonctions qui permettront de gérer le déplacement de l'objet.
Dans la première fonction servira à modifier la position de l'objet en abscisse et en ordonnés (x et y) :
Code-source actionscript
function Move()
{if (droite) rectangle.x++;
if (haut) rectangle.y--;
if (gauche) rectangle.x--;
if (bas) rectangle.y++;
}
Code-source actionscript
function toucheDown(evt:KeyboardEvent)
{if (evt.keyCode == Keyboard.UP) haut=true;
if (evt.keyCode == Keyboard.RIGHT) droite=true;
if (evt.keyCode == Keyboard.LEFT) gauche=true;
if (evt.keyCode == Keyboard.DOWN) bas=true;
}function toucheUp(evt:KeyboardEvent)
{if (evt.keyCode == Keyboard.UP) haut=false;
if (evt.keyCode == Keyboard.RIGHT) droite=false;
if (evt.keyCode == Keyboard.LEFT) gauche=false;
if (evt.keyCode == Keyboard.DOWN) bas=false;
}
3. Fonction d'initialisation du script
Dans le but de faire quelque chose de propre je déclare ici une fonction d'initialisation du script qui me permettra de définir les paramètres de l'objet ("Sprite") :
Code-source actionscript
function initScript():void
{rectangle.graphics.beginFill(0x0000FF); // Remplissage du rectangle avec du bleu
rectangle.graphics.drawRect(100, 100, 50, 50); // Dessin du rectangle
this.addChild(rectangle);
stage.stageFocusRect = false; // Le rectangle jaune du focus est supprimé pour tous les objets
stage.focus = rectangle; // Focus sur le rectangle pour qu'il puisse être actif
rectangle.addEventListener(KeyboardEvent.KEY_DOWN, toucheDown);
rectangle.addEventListener(KeyboardEvent.KEY_UP, toucheUp);
setInterval(Move, 5); // Appel de la fonction Move()
}
4. Lancer le script
Il ne reste plus qu'à lancer le script en appelant la fonction initScript() écrite au chapitre précédent :Code-source actionscript
initScript();
stop();
Vous pouvez ensuite tester votre animation (Ctrl+Entrée).Si la fluidité du déplacement de l'objet ne vous conviens pas modifiez le nombre d'images par secondes de l'animation ainsi que l'intervalle de temps entre chaque appel de la fonction Move() (second paramètre de la fonction setInterval())
- Rédiger un commentaire
- Afficher les commentaires (0)
Vous devez être identifié pour poster un commentaire
Aucun commentaire
