Вход

Просмотр полной версии : Помогите вставить правильный оператор


Графиня
19.11.2013, 13:57
Здравствуйте. Вопрос пустяковый, но что-то до меня не доходит.

Есть 3 кнопки: b1,b2,b3

Когда на каждую нажимаешь, она становится невидимой, и в конце, когда нажаты именно все 3 кнопки, переход на 1 кадр.

import flash.events.ActivityEvent;

function ba(event:MouseEvent):void
{
b1.alpha = 0;
}
b1.addEventListener(MouseEvent.CLICK, ba);

function be(event:MouseEvent):void
{
b2.alpha = 0;
}
b2.addEventListener(MouseEvent.CLICK, be);

function bu(event:MouseEvent):void
{
b3.alpha = 0;
}
b3.addEventListener(MouseEvent.CLICK, bu);

function vseb(event:MouseEvent):void
{
gotoAndStop(1);
}
b1.addEventListener+b2.addEventListener+b3.addEventListener(MouseEvent.CLICK, vseb);

Я подозреваю, что что-то вставила не так в последней строчке, потому что часто переход осуществляется после нажатия 1 или 2 кнопок, не дожидаясь третьей. Пожалуйста, подскажите, какой там нужно вставить оператор.

Добавлено через 10 минут
Пробовала и так:

b1+b2+b3.addEventListener(MouseEvent.CLICK, vseb);,
но результат такой же.

Isfet
19.11.2013, 14:09
function ba(event:MouseEvent):void
{
b1.visible = false;
checkOnBtnsVisible();
}
b1.addEventListener(MouseEvent.CLICK, ba);

function be(event:MouseEvent):void
{
b2.visible = false;
checkOnBtnsVisible();
}
b2.addEventListener(MouseEvent.CLICK, be);

function bu(event:MouseEvent):void
{
b3.visible = false;
checkOnBtnsVisible();
}
b3.addEventListener(MouseEvent.CLICK, bu);

function vseb():void
{
gotoAndStop(1);
}

function checkOnBtnsVisible():void {
if(b1.visible == false && b2.visible=false && b3.visible ==false){
vseb();
}
}

и вам стоит почитать книжки, уж оооооочень слабый у вас код.

alexcon314
19.11.2013, 14:15
А где вызов checkOnBtnsVisible()?

Графиня
19.11.2013, 14:18
Не знаю такого ))
Кнопочки работают нормально, что касается видимости, но именно переход не фурычит ((.

Isfet
19.11.2013, 14:24
пардон на скорую руку писал) исправил

Графиня
19.11.2013, 14:27
Isfet, Мерси!
Книжки читаю :). Просто доходит с трудом ;).

alexcon314
19.11.2013, 14:27
b1.addEventListener+b2.addEventListener+b3.addEventListener(MouseEvent.CLICK, vseb);
b1+b2+b3.addEventListener(MouseEvent.CLICK, vseb);
Скажите, вы всегда складываете все, что под руку попадет, в надежде, что все само собой "зафурычит"?
Чудеса.. свалим в сарай болты-гайки-колеса и просто подождем, когда из сарая выкатится автомобиль. Отличная логика. У Буратино на Поле Чудес было больше шансов :). Но он хоть поливал..

Графиня
19.11.2013, 14:36
Я сначала попробовала &&, а плюсики вроде лучше работают )).
Спасибо всем за помощь.

alexcon314
19.11.2013, 16:55
Плюсики работают ровно так же хорошо, как и &&. Беда в том, что вы совершенно бездумно их применяете.
Плюсики (+) - это математическое сложение чисел. Оператор && - это логичесоке 'И' (AND). Или еще раз, тоже самое:
"+" для чисел (не кнопок), "&&" для логических переменных (true, false, не кнопок опять же). Заметьте, каждая операция дает результат: + дает число, && дает логическую величину. Как вам пришло в голову применять эти операторы к кнопкам?
А b1.addEventListener+b2.addEventListener я даже прокомментировать не берусь.