Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
On va tout d'abord commencer par faire l'écran d'introduction, c'est-à-dire celui qui présente les règles au joueur.
Écrivez le titre du jeu ("Devine") en haut de l'écran, et centrez-le à l'aide de la commande
Aligner (
Modification -->
Alignez -->
Centres verticalement).
Ensuite, un peu plus bas, faites un texte statique qui nous permettra d'expliquer les règles du jeu. Vous pouvez y mettre :
Citation : KadosBut de ce jeu : vous devez simplement essayer de deviner le nombre que l'ordinateur a choisi de matière aléatoire entre 0 et 500. Si vous mettez un nombre trop grand, l'ordinateur vous dira : "Plus bas". Si au contraire, vous mettez un nombre trop petit, l'ordinateur vous dira : "Plus haut". A la fin de la partie, on vous dira combien de coups vous avez mis pour deviner le bon nombre !
Ensuite, un peu plus bas, vous allez mettre un clip
Jouer.
Pour cela, créez un symbole
Clip, insérez-y un rectangle et un texte "Jouer". Revenez ensuite sur la scène principale, et cliquez une fois sur le clip
Jouer. Appuyez une fois sur F9 pour faire apparaître la fenêtre
action, et placez ce code :
Code : Autre1
2
3
| on (press) {
_root.gotoAndStop(2);
} |
Cela veut dire que lorsque l'utilisateur va cliquer sur ce clip (on (press)), il va aller à la deuxième image de la scène (_root.gotoAndStop(2);).
Vous allez maintenant placer du code sur l'image 1. Pour cela, cliquez sur la première image et faites F9. Dans le rectangle de code, tapez :
Code : Autre
Cela va permettre à l'animation de s'arrêter (stop()) à la première image.
Voilà. L'écran d'introduction est maintenant créé. Il ne reste donc plus qu'à faire le jeu en lui-même, le plus dur.
Voyons maintenant la partie jeu, un peu plus complexe.
Petit rappel : pour ouvrir la fenêtre action, faites F9. Pour créer un clip, sélectionnez l'image que vous souhaitez convertir en clip et faites F8.
Tout d'abord, pour rappeler au joueur le nom du jeu auquel il joue, on va replacer le titre du jeu ("
Devine") en haut de la deuxième image de la scène.
Ensuite, vers le milieu de la scène, créez un texte statique où vous mettrez "
Votre nombre :" ; puis, à côté, un texte de saisie assez grand, mais pas trop (c'est pour rentrer le nombre à deviner). Appelez ça : "variable nombre1". Après cela, un peu plus bas, vous allez mettre un texte dynamique. Faites-le assez grand et donnez-lui comme nom de variable "résultat" (ce texte servira à donner un indice au joueur : "Plus grand", par exemple).
Encore plus bas, créez encore un clip avec un rectangle et le texte "Validez". C'est ce clip qui va servir à valider et à faire le "moteur" du jeu. Cliquez sur ce clip nouvellement créé, et faites apparaître la barre d'action (F9) ; mettez-y ce code :
Code : Autre1
2
3
4
5
| onClipEvent(load) {
nombre = Math.random(500)+1;
nombre = Math.round(nombre);
coup = 0;
} |
Cela veut dire que lorsque l'animation va se charger (onClipEvent(load)), l'ordinateur va choisir un nombre aléatoire entre 0 + 1 et 499 + 1 (donc 1 et 500), et le mettre dans la variable nombre (nombre = Math.random(500)+1;). Cependant, cette variable ne sera pas un entier : on va donc l'arrondir à l'aide de la fonction Math.round(). Il va aussi mettre 0 dans la variable coup.
Mais à quoi sert la variable coup ?
Un peu plus bas, mettez maintenant ce code :
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
14
| on (press) {
coup++;
if (_root.nombre1<nombre) {
_root.resultat = "Plus grand !";
}
if (_root.nombre1>nombre) {
_root.resultat = "Plus petit !";
}
if (_root.nombre1 == nombre) {
_root.coup = coup;
_root.gotoAndStop(3);
}
_root.nombre1 = "";
} |
Non, ne vous inquiétez pas, rien de bien compliqué dans ce code !
Cela veut juste dire que lorsque l'utilisateur va appuyer sur "Valider", il va se passer une série d'actions.
L'ordinateur va d'abord commencer par ajouter un (1) au nombre de coup joué (coup++;).
Ensuite, il va comparer le score mis dans la case sur la scène (_root.nombre1) avec le nombre choisi par l'ordinateur (nombre) : Si ce dernier est plus grand que celui choisi par le joueur (if (_root.nombre1<nombre) {), alors on va afficher dans le texte résultat sur la scène "Plus grand" (_root.resultat = "Plus grand !";).
Si l'inverse se produit, on fait l'inverse ( if (_root.nombre1>nombre) { _root.resultat = "Plus petit !"; }).
Par contre, si le nombre choisi par le joueur est le même que l'utilisateur ( if (_root.nombre1 == nombre) {), alors on va mettre la variable coup en variable globale pour pouvoir y accéder depuis n'importe où (_root.coup = coup;) ; on va aussi aller sur l'image 3 de la scène pour dire au joueur en combien de coups l'utilisateur a gagné, et lui dire que le jeu est fini.(_root.gotoAndStop(3);).
Pour finir, on va remettre la variable nombre1 sur la scène à rien du tout (_root.nombre1 = "";).
Voilà, la partie jeu est désormais terminée. Il ne nous reste plus qu'à faire la dernière partie, celle qui va afficher au joueur en combien de coups il a deviné le nombre.
Voyons maintenant la dernière partie, toute simple.
Écrivez d'abord "
Devine" en haut, comme pour les autres parties.
Ensuite, placez-vous un peu plus bas, et faites un texte dynamique ayant pour nom de variable "
final". Faites-le assez grand.
Un peu plus bas, faites un clip avec comme texte "
Rejouer". Ajoutez-y ce code :
Code : Autre1
2
3
| on(press) {
_root.gotoAndStop(2);
} |
Vous l'aurez sûrement compris, cela veut dire que lorsque l'utilisateur va appuyer sur ce bouton, on va aller à l'image 2 de la scène pour refaire une partie.
Ensuite, placez-vous sur l'image 3 de la scène et ajoutez-y du code (comme on a fait pour la première image : on a ajouté
stop();). Sur l'image 3, ajoutez donc ce code :
Code : Autre1
| _root.final = "Bravo, vous avez réussi à deviner le bon nombre en "+_root.coup+" coups ! Voulez-vous rejouer ?"; |
Cela veut dire que l'on va placer sur le texte dynamique "final" de la scène une phrase avec en plus la variable _root.coup incrémentée (cela veut dire qu'on lui ajoute un).
Voilà, votre animation est maintenant finie. Pour la tester, faites
Ctrl +
Entrée !
Mon animation ne marche pas ! Qu'est-ce qui ne va pas ?
Pour le savoir, je pense qu'il n'y a que deux solutions. La première, c'est aller demander sur
le forum Programmation du Site du Zér0 de l'aide. La deuxième, c'est comparé votre code à celui-ci :
Fichier .fla.
Si malgré ceci, vous n'y arrivez pas, je vous conseille de bien relire le tuto et de le refaire entièrement, c'est-à-dire de repartir de zéro, pour que votre ancien code ne vous induise pas en erreur...