www.Art-Flashie.com ::
 
   
 
   
 
Tutoriels - Flash - Jeux fichier source



Les évènement clavier (écrit par Jérémie )

Le déplacement d'une voiture à l'aide des flèches : la meilleure méthode.

intro

nous voulons, dans ce premier tutoriel sur les jeux, pouvoir déplacer une voiture (un clip) à l'aide des flèches.
on peut envisager plusieurs méthodes, comme créer un bouton avec l'action 'on (keyPress"")' ... si vous ne connaissez pas, tant mieux, si vous connaissez, oubliez pour ce tutoriel: ces actions s'appliquent à des évènements ponctuels (si l'utilisateur appuie sur entrée, passer à la page suivante, par exemple).
ici, ce n'est pas un évènement ponctuel puisque nous pouvons laisser le doigt appuyé sur la touche, auquel cas l'action devra se dérouler en continu.
de plus, dans la méthode des évènements ponctuels, on ne peut appuyer que sur une seule touche à la fois. dans ce tutoriel, nous apprendrons à utiliser plusieurs touches à la fois, ce qui permettra d'une part des déplacment complexes, d'autre part des jeux à 2 joueurs.
étape 2 - prérequis

connaître un minimum de programmation flash. le principe & les actions de base (if etc.).

étape 3- symbole & variable

un seul clip est nécessaire. dessinez votre voiture, vaisseau, fauteuil roulant, comme vous le sentez, selectionnez le & convertissez le en symbole (clip).
selectionnez le, bouton droit > actions. écrivez :


étape 4 - le code actionscript


onClipEvent (load) {
vitesse = 5;
}

au chargement du clip, la variable vitesse est créée. elle correspond à la vitesse de déplacement du clip lorsqu'on appuie une seule fois sur une flèche. ici, la valeur sera fixe, mais vous pourrez très bien la faire varier par la suite (pour un turbo par exemple) maintenant, on contrôle en continu les touches pressées.

d'abord quelques explications sur les fonctions utilisées :
Key.isDown('la touche') : signifie 'la touche' est pressée. cette fonction renvoie donc vrai si 'la touche' est pressée ou faux dans le cas contraire.
toutes les touches du clavier ont un code. on doit remplacer 'la touche' par le numero correspondant à la touche. tous les numéros sont dans l'aide de flash, et je les ai également ajoutés à la fin du tutoriel.
toutefois, les touches de direction ont un code spécial : Key.UP, Key.DOWN, Key.LEFT et Key.RIGHT. ces 4 écritures sont en réalité de simples fonctions qui renvoient le numéro correspondant. enfin bon si vous ne comprennez pas c'est pas trop important, juste, au lieu de chercher un code, pour les touches de direction, utilisez les écritures ci dessus.
this._x est la position du clip sur l'axe des x,
this._x += vitesse equivaut à this._x = this._x + vitesse, donc on ajoute 'vitesse' à la position x.

si la touche est pressée, on ajoute 'vitesse' aux coordonnées (n'oubliez toujours pas la forme du repère dans flash)

le code est donc le suivant :

onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT))
{
this._x -= vitesse;
}
if (Key.isDown(Key.RIGHT))
{
this._x += vitesse;
}
if (Key.isDown(Key.UP))
{
this._y -= vitesse;
}
if (Key.isDown(Key.DOWN))
{
this._y += vitesse;
}
}

c'est terminé. ce n'est pas bien compliqué & c'est utile à tous les jeux.
si le mouvement est trop saccadé, augmentez le nombre d'images par seconde (modification > animation) & diminuez la vitesse.



Tous droits réservés 2003 Jérémie Cook