Flash Tutoriel - Utilisation d'un compteur

De EduTech Wiki
Aller à la navigation Aller à la recherche

Définition du compteur

Un compteur est une variable de type int qui est utilisée dans une instruction conditionnelle pour compter le nombre de réalisation de l’instruction. A la création de cette variable, la valeur 0 lui est attribuée :

    Var compteur : int ;
    Compteur =0 ;

Exemple d’utilisation avec test de position

Dans cet exemple, nous allons créer plusieurs pommes rouges déplaçables. Nous afficherons des messages en fonction de leur position.

création des pommes

//variable tableau contenant vos pommes rouges
var liste_pommes = new Array;

//fonction pour créer les pommes
function creer_pomme (x,y) {
 	var pomme = new PommeRouge; 
	pomme.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
	pomme.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
	pomme.buttonMode=true ; //changer le curseur de la souris sur les pommes
        pomme.x = x;
        pomme.y = y;
        stage.addChild(pomme); //permet d’ajouter des pommes
       liste_pommes[] = pomme;
}

//vous créez vos 5 pommes sur votre scène. Insérez ces lignes dans l'ActionScript de votre
//premier frame afin que vos pommes apparaissent dès l'ouverture de la scène
creer_pomme (100, 200) 
creer_pomme ( 120, 210)
creer_pomme (130, 200)
creer_pomme (140, 210)
créer_pomme (150, 200)

Tests des positions

Nous voulons que 3 pommes se trouvent à gauche sur la scènes et 2 pommes à droite.

Pour être à gauche, la valeur de pomme.x doit être entre 300 et 500.

Pour être à droite, la valeur de pomme.x doit être entre 100 et 0.

La première chose à faire est de créer la/les variable(s) compteur et de leur assigner la valeur 0.

var compteurDroit :int =0 ;
var compteurGauche. :int=0 ;

for each ( var pomme :MovieClip in liste_pommes ){

//1 est ajouté au compteur chaque fois qu’une pomme à une valeur de x entre 300 et 500
	
if (pomme.x < 500 && pomme.x > 300) {
	compteurGauche +=1 ;
}

//1 est ajouté au compteur chaque fois qu’une pomme à une valeur de x entre 0 et 100
if(pomme.x < 0 && pomme.x> 100)
{
compteurDroit +=1 ;
}
}

Tests avec la valeur des compteurs

//bouton test active les tests de position
test.addEventListeneur(MouseEvent.CLICK, testerPosition) ;

function testerPosition (event :MouseEvent) :void
{
//des messages d’erreur sont présents sur la scène mais ils ne sont pas visibles
messageErreurGauche.visible=false ;
messageErreurDroit.visible=false ;

//insérer ici le code présenté au point précédant

//si les 2 pommes sont à droite et 3 à gauche, nous avançons dans le frame suivant
if (compteurDroit == 2 && compteurGauche ==3){
 gotoAndStop (2) ;
}

//si le nombre de pomme à gauche n'est pas égal à 3, un message apparait et l'indique
else if (compteurDroit ==2 && compteurGauche != 3){
messageErreurGauche.visible=true ;
}

//si le nombre de pomme à droite n'est pas égal à 2, un message apparait et l'indique
else if (compteurDroit !=2 && compteurDroit ==3){
messageErreurDroit.visible=true ;
}
// 2 messages apparaissent car les pommes ne sont justes ni à gauche ni à droite
else if (compteurDroit !=2 && compteurDroit != 3){
messageErreurDroit.visible=true ;
messageErreurGauche.visible=True ;
}