Помощ за оператор 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