as3 номер отслеживания значения переменных - PullRequest
0 голосов
/ 11 марта 2010

У меня куча игр на 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");
}

Однако эта часть кода не работает. Любая помощь будет высоко ценится.

Спасибо

Wade

1 Ответ

0 голосов
/ 11 марта 2010

Попробуйте это:

 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!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...