2017-01-13 60 views
1

我做了一個得分計數器,如果玩家開始等級1並且如果贏了,計數器繼續工作到下一個等級。 )到目前爲止它不存在任何問題。當玩家從菜單中選擇等級時,我得到一個「楠」的錯誤,當玩家從菜單中選擇等級時

但是,當播放器有選擇從菜單級別和啓動級別2,計數器不工作。級別2從第116幀開始。我得到一個「NaN」錯誤。

我寫一個這樣的代碼scrore框架1

var Scorecounter:Number = 0; 

而且Score_t1它是在幀中的一個

function checkButtonsone():void 
{ 
    if(fisoneclicked21 && fistwoclicked) 
    { 

    Scorecounter = Scorecounter + 10; 
    Score_t1.text = (Scorecounter).toString(); 

    acmessage.visible = true; 
    acmessage.play(); 

    gotoAndPlay(116);//LEVEL 2 
} 
} 

和上水平動態text.Use計數器代碼2

function checkButtonponelev2():void 
{ 
    if(fish1clickedleveltwo && fishtwoclickedleveltwo && 
    fishthreeclickedleveltwo) 

    {   
    Scorecounter = Scorecounter + 10; 
    Score_t1.text = (Scorecounter).toString(); 

    famessage.visible = true; 
    famessage.play(); 
} 
} 

我沒有使用關鍵幀beetwen兩個levels.So得分幀繼續,直到最後一幀。(285)

+0

層次不明確。級別是同一時間線上的幀?級別是不同的影片剪輯? – Organis

+0

級別在同一時間線上。 https://s28.postimg.org/ow8lfldsd/Taslak_2.png – KucuKeko

回答

1

嗯,我不知道爲什麼時間線腳本不適合你(你可能想跟蹤Scorecounter,如果它),但我可以建議一個「全球」變量的解決方案。創建一個類文件ScoreHolder.as並把它放在同一文件夾作爲*的.fla

package 
{ 
    public class ScoreHolder 
    { 
     static public var score:Number = 0; 
    } 
} 

然後將它導入任何框架,你要訪問的分數值:

import ScoreHolder; 

function checkButtonsone():void 
{ 
    if (fisoneclicked21 && fistwoclicked) 
    { 
     ScoreHolder.score += 10; 
     Score_t1.text = ScoreHolder.score.toString(); 

     acmessage.visible = true; 
     acmessage.play(); 

     gotoAndPlay(116);//LEVEL 2 
    } 
} 
+0

輝煌:)謝謝...我想問一下timer.Can我可以在定時器上做同樣的事情。 – KucuKeko

+0

是的,你可以有一個定時器作爲靜態類變量。但是,如果您希望通過此時間線共享更多功能,我會建議您爲此MovieClip(或主時間軸)創建一個類,並通過「this」語句訪問其字段。 – Organis

+0

嗨組織..我添加了高分,但它不工作,你可以退房請。 http://stackoverflow.com/questions/41761659/shared-object-save-and-load-issue – KucuKeko

相關問題