2010-03-17 79 views
1

我想根據點擊次數更改變量值。在flash中使用actionscript 3.0計算點擊次數

所以,如果你點擊一次按鈕,cCount應該等於1,兩次應該等於2

現在所有我返回的值是0,點擊無論量。

任何想法?

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); 
    } 
} 

回答

1

cCount是局部變量嗎?換句話說,是否在每次加載框架時調用的函數內發佈代碼?

添加兩個跟蹤語句,看看發生了什麼:

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

它都在動作層的第一幀內。我運行了你提供的功能。前面持續等於0,而後面等於1. 所以馬上我可以告訴cCount變量的值正在重置。然而,我無法解決這個問題。 – 2010-03-17 05:31:14

+0

問題不在於編程,而是在實際階段。我正在播放第1幀中的movieClip,在那裏我還聲明瞭cCount變量。解決方案是創建一些間隔幀,並開始播放除第1幀以外的其他幀。 – 2010-03-17 13:11:09

0

只要你聲明的功能之外cCount變量,它會保持一個準確的計數。否則,每次點擊都會重置。