我有一堆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");
}
但是,这部分代码无效。任何帮助将不胜感激。
谢谢,
瓦德
答案 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!