2017-01-13 59 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

相关问题