Forums Développement Multimédia

Aller au contenu

problème avec une variable

CODE Actionscript

2 réponses à ce sujet

#1 philippeonline

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 102 messages

Posté 09 August 2013 - 14:48 PM

Pour changer un peu, j'ai un problème avec une variable !
Désolé si le code est un peu confus.





addEventListener(Event.ENTER_FRAME, checkallballonclic);

function checkallballonclic(evt:Event)

{

switch(nbdeballoncliquez)
{
case 5 :                                                                                          //attend que le nb de ballon cliquez egale 5
if ((T0 < T1) && (T1 < T2) && (T2 < T3) && (T3< T4))      //evalue si cette ordre est cliquez
        {
        trace ("reussit !" );

bonordrevf = true;                                                              //l'ordre est bon la variable bonordrevf = vrai
trace ("bonordrevf =" +bonordrevf)

}

else                                                            //si l'ordre cliquez n'est pas le bon
{
bonordrevf = false;                        //l'ordre est mauvais la variable bonordrevf = vrai
trace ("loupé !"+bonordrevf );

}
removeEventListener(Event.ENTER_FRAME, checkallballonclic);   //arrete de surveillez l'evenement.
}
}

addEventListener(Event.ENTER_FRAME, affichagesequenceclic2);

function affichagesequenceclic2(evt:Event)

{
//* supprime l'occurence "bonordre" si bleu2 sort de l'ecran OU si la sequence T0-T4 est bonne OU si la sequence est  mauvaise auquel cas bonordreVF = false.

if ((bonordrevf = false) || ((T0 < T1) && (T1 < T2) && (T2 < T3) && (T3 < T4)) || (bleu2.x <= 55))
{

bonordre.visible = false;
trace("l'ordre est faux,vrai,ou le ballon est sortie.")
trace("bonordrevf =" +bonordrevf)
removeEventListener(Event.ENTER_FRAME, affichagesequenceclic2);
}
}
 


Le problème est le suivant : alors que la séquence cliquez est bonne il me met la variable "bonordrevf" comme false.
Pour la suite de mon code ce n'est pas bon. elle devrait être true.

la console me dit ça:


reussit !
bonordrevf =true //jusque la c'est bon

l'ordre est faux,vrai,ou le ballon est sortie. //la aussi
bonordrevf =false // ?? pourquoi ca ???

A l'inverse si la séquence cliquez n'est pas bonne la console renvoi :

loupé !false // ce qui est normal

Mais il n’exécute pas le code prévue dans la fonction "affichagesequenceclic2". Sans doute la variable a entre temps été "retourné" je ne sais comment...

Merci pour l'aide

#2 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 6954 messages

Posté 09 August 2013 - 15:00 PM

Re,

if ((bonordrevf = false)
Erreur dans ce code, si tu veux faire une comparaison c'est l'opérateur "==" et non "=" qu'il faut utiliser, sinon tu affecte la valeur à la variable.

switch(nbdeballoncliquez)
{
case 5 :
Ici, le swtich/case est inutile puisque tu ne veux récupérer qu'une seule valeur, ton code pourrait s'écrire :

bonordrevf = false;
if(nbdeballoncliquez == 5){
    if ((T0 < T1) && (T1 < T2) && (T2 < T3) && (T3< T4)) {
        trace ("reussit !" );
        bonordrevf = true;
    }
    removeEventListener(Event.ENTER_FRAME, checkallballonclic);
}
trace ("bonordrevf =" +bonordrevf);


#3 philippeonline

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 102 messages

Posté 09 August 2013 - 17:01 PM

Merci beaucoup Spi ! bien vue !



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP