Справка по оператору If — Flash Actionscript 2.0

Это, вероятно, будет долгий путь, потому что у меня проблемы с формулировкой того, что я пытаюсь, но я все равно попытаюсь. :)

Моя общая концепция — это базовая (очень базовая) игра; у вас есть ингредиенты (их 4), и в зависимости от того, какие из них вы выберете, конечный продукт (в данном случае торт) будет выглядеть по-разному.

Например: если вы нажмете кнопку «смесь для торта», кнопку «шоколад» и кнопку «вода», вы получите ШОКОЛАДНЫЙ ТОРТ. Но если вы нажмете только кнопку «смесь для торта» и кнопку «вода», вы получите ВАНИЛЬНЫЙ ТОРТ.

Я понятия не имею, как это закодировать, чтобы в зависимости от того, какие кнопки нажаты, вы получали разные результаты. Любые идеи? знак равно

Есть кнопка «ПОКАЗАТЬ», на которую я помещаю весь сценарий. Прямо сейчас у меня есть:

on (release) {
if (_root.buttons.water._visible == false);
gotoAndPlay(384);

if (_root.buttons.water._visible == true);
gotoAndPlay(383);

}

Я пытаюсь сказать, что если в какой-то момент будет нажата кнопка воды, перейти к ЭТОМУ РЕЗУЛЬТАТУ (кадр 384). Но если кнопка воды НЕ была нажата, переходите к ЭТОМУ РЕЗУЛЬТАТУ (кадр 383).

Надеюсь, у кого-то есть идея, которую я могу попробовать! :)

Я использую Flash CS5 и Actionscript 2.0. Спасибо!


person bekah    schedule 07.04.2011    source источник
comment
Вы намеревались поставить точку с запятой после ваших if утверждений? Потому что это определенно не будет делать то, что вы ожидаете.   -  person Greg Hewgill    schedule 08.04.2011
comment
Когда я удаляю их из операторов if (сразу после скобок), кнопка раскрытия, на которой размещен код, больше не работает. Хм...   -  person bekah    schedule 08.04.2011


Ответы (1)


Вероятно, вам сначала нужно установить некоторые переменные состояния для каждой кнопки, чтобы отслеживать, что было нажато, а что нет. Что-то типа:

var cakeMixSelected = false;
var waterSelected = false;
var chocolateSelected = false;

Когда один из них будет выпущен, измените его переменную на «true».

Тогда операторы if в вашей проверке должны выглядеть примерно так:

if(waterSelected == true) {
    if(cakeMixSelected == true && chocolateSelected == true) {
        //go to chocolate code here
    } else if (cakeMixSelected == true) {
        //vanilla here
    } else {
        //water only here
    }
} else {
    // no water code here
}
person bdd    schedule 08.04.2011
comment
Дело было именно в этом! Как только я узнал больше о переменных, это сработало как шарм. Спасибо. :) - person bekah; 12.04.2011