2010-03-17 7 views
1

Je souhaite modifier la valeur de la variable en fonction du nombre de clics.compte les clics en utilisant ActionScript 3.0 en flash

Donc, si vous cliquez sur le bouton une fois, l'CCOunt doit être égal à 1 et deux fois il doit être égal à 2.

En ce moment, tout ce que je suis de retour pour la valeur est 0, peu importe le nombre de clics.

Des idées?

btnRaw.addEventListener(MouseEvent.CLICK, flip); 
btnRaw.addEventListener(MouseEvent.MOUSE_UP,count); 
//create the flipping function 

//create the variable to store the click count 
var cCount:Number = 0; 

function flip(Event:MouseEvent):void{ 
    raw_patty_mc.gotoAndPlay(1); 
} 

function count(Event:MouseEvent):void{ 
    cCount = cCount+1; 
    if(cCount>3 || cCount<6){ 
     titleText.text="See you're doing a great job at flipping the burger! "+String(cCount); 
    } 
} 

Répondre

1

Est-ce qu'une variable locale est cCount? En d'autres termes, le code que vous avez posté dans une fonction est-il appelé à chaque chargement de la trame?

Ajoutez deux instructions trace pour voir ce qui se passe:

function count(Event:MouseEvent):void{ 
    trace("before " + cCount); //? 
    cCount = cCount+1; 
    trace("after " + cCount); //? 
    if(cCount>3 || cCount<6){ 
     titleText.text="See you're doing a great job at flipping the burger! "+String(cCount); 
    } 
} 
+0

Tout est dans la première image du calque d'actions. J'ai exécuté la fonction que vous avez fournie. L'avant est continuellement égal à 0, tandis que l'après est égal à 1. Donc tout de suite je peux dire que la valeur de la variable cCount est en train d'être réinitialisée. Pourtant, je ne peux pas résoudre cela. –

+0

Le problème n'était pas dans la programmation, c'était dans la phase actuelle. Je jouais un movieClip dans l'image 1, où je déclarais aussi la variable cCount. La solution consistait à créer des images d'espacement et à commencer à jouer sur une autre image, autre que l'image 1. –

0

Tant que vous déclarez la variable CCOunt en dehors de votre fonction, il gardera un décompte précis. Sinon, il se réinitialise à chaque clic.