AS2- Введите текст, чтобы перейти к другому кадру?

У меня есть кнопка, в которой игрок может ввести код. Если они вводят правильный код, они попадают в «правильный» фрейм, но если они ошибаются, их следует переводить в «неправильный» фрейм. Проблема, с которой я сталкиваюсь, заключается в том, что независимо от введенного текста игрок попадает на «неправильный» экран. Вот мой текущий код:

on (release) {
if (combo eq "blue"){
gotoAndStop("correct");
} else {
gotoAndStop("wrong");
}
}

и я также пробовал, чтобы оператор if () был

if (combo == "blue")

Текстовое поле ввода имеет имя переменной combo и имя экземпляра code.


person Arellan    schedule 14.11.2014    source источник
comment
Вы тестировали trace(combo)   -  person cforcloud    schedule 15.11.2014


Ответы (1)


Прежде всего, оператор eq устарел с Flash Player 5 в пользу == (равенство) оператор.

С другой стороны, чтобы получить выбранный item label из поля со списком, вы должны использовать его _ 4_:

Свойство только для чтения; если поле со списком доступно для редактирования, value возвращает метку элемента. Если поле со списком статическое, значение возвращает данные элемента.

Ваш код:

on (release) {
    if (_parent.combo.value == "blue") {
        gotoAndStop("correct");
    } else {
        gotoAndStop("wrong");
    }
}

Другое замечание: кажется, что combo лучше писать _parent.combo

person helloflash    schedule 15.11.2014