当玩家从菜单中选择关卡时,我在得分计数器上出现 "Nan" 错误

I get a "Nan" error on score counter to when player has choose level from menu

我做了一个得分计数器,如果有玩家开始级别 1 并且如果赢了,计数器会继续工作到下一个级别。(级别 = 帧)目前不存在任何问题。

但是当玩家选择从菜单升级并开始第 2 级时,计数器不是 work.Level 2 从帧 116.I 开始得到一个“NaN”错误。

我写了这样的代码 scrore frame 1

var Scorecounter:Number = 0;

并且Score_t1它是第一帧上的动态text.Use计数器代码

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

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

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

    gotoAndPlay(116);//LEVEL 2
}
}

在第 2 层

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

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

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

我没有使用两个关键帧 levels.So 得分帧继续到最后一帧。(285)

好吧,我不知道为什么时间线脚本对您不起作用(如果它启动了,您可能想跟踪 Scorecounter),但我可以建议一个 "global" 可变解决方案。创建一个 class 文件 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
    }
}