as3跟踪变量的数值

时间:2010-03-11 05:31:14

标签: flash actionscript-3 actionscript variables

我有一堆as3游戏。 在我的游戏中,当newCrag命中egg_mc时,分数会被添加。

// Add the score
var newScore:score_mc;
newScore = new score_mc();
addChild(newScore);
newScore.x = 20;
newScore.y = 20;
newScore.score_txt.text='0/15';
var score:Number=0;

function getEggs(event:Event):void {

    if(event.target.hitTestObject(MovieClip(root).newCrag) && event.target is egg_mc) {

        sndEgg.play();

        if(event.target.stage) {
            event.target.parent.removeChild(event.target);
        } 

        // Increase score
        score++;
        newScore.score_txt.text = "" + score + '/15';

    }

}

我试图使用if语句引用得分的数字值。我需要根据得分框内的数字来改变速度变量。

var speed:Number

if(score > 10 || score == 10) {
    speed=20;
    trace("speed3");
} else if(score > 5 || score == 5 && score < 10) {
    speed=18;
    trace("speed2");
} else {
    speed=14;
    trace("speed1");
}

但是,这部分代码无效。任何帮助将不胜感激。

谢谢,

瓦德

1 个答案:

答案 0 :(得分:0)

试试这个:

 var speed:Number; //you missed a semicolon here
 if (score>=10) {
  speed=20;
  trace("speed3");
 } else if (score>=5) {//no need to test twice for <10
  speed=18;
  trace("speed2");
 } else {
  speed=14;
  trace("speed1");
 }

或(仅限兴趣),全部在一行:

speed = (score>=10)?20:((score>=5)?18:14);// no points for readability!