Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Несколько событий на одной кнопке. (http://www.flasher.ru/forum/showthread.php?t=136108)

Lupus Singuli 10.02.2010 02:56

Несколько событий на одной кнопке.
 
Господа, такой вопрос: Есть кнопка, при нажатии на которую происходит некое действие. В моем случае это выбрасывание трех монеток и рисование линии.
Код:

var reshCoin1:Boolean=false;
var reshCoin2:Boolean=false;
var reshCoin3:Boolean=false;
var orelCoin1:Boolean=false;
var orelCoin2:Boolean=false;
var orelCoin3:Boolean=false;

but.addEventListener(MouseEvent.CLICK, dropMoney);
but.buttonMode=true;
function dropMoney(MouseEvent):void {
        var dropCoin1:Number=Math.floor(Math.random()*2);
        if (dropCoin1==0) {
                reshCoin1=true;
                mov1.gotoAndStop(1);
        } else {
                orelCoin1=true;
                mov1.gotoAndStop(2);
        }
        var dropCoin2:Number=Math.floor(Math.random()*2);
        if (dropCoin2==0) {
                reshCoin=true;

                mov2.gotoAndStop(1);
        } else {
                orelCoin2=true;

                mov2.gotoAndStop(2);
        }
        var dropCoin3:Number=Math.floor(Math.random()*2);
        if (dropCoin3==0) {
                reshCoin3=true;
                mov3.gotoAndStop(1);
        } else {
                orelCoin3=true;

                mov3.gotoAndStop(2);
        }
//отображается линия_1
        if ((orelCoin1==true) && (orelCoin2==true)) {
                lin1.gotoAndStop(3);
        } else  {
                lin1.gotoAndStop(3);
        }

}

Так вот, как сделать так, чтоб при повторном нажатии на кнопку, уже нарисованная линия оставалась на экране, и рисовалась следующая. Всего линий должно быть шесть.

Wolsh 10.02.2010 03:14

Завести счетчик и шесть клипов линий?

Lupus Singuli 10.02.2010 03:23

Wolsh, может еще подскажете как реализовать этот счетчик? Если не затруднит...

Wolsh 10.02.2010 04:24

Вообще функцию "рисования линий" можно вынести отдельно, так ведь удобней, и вызывать ее когда надо. В классе завести переменную экземпляра _count:uint. При каждом запуске функции увеличивать _count на единицу. Из нее же брать номер клипа-линии, которую запускать в этот раз. При достижении счетчиком значения шесть - обнулять его и переводить клипы линий на первый кадр (пустой). Вроде так? Ну или один клип, переходящий на кадр из _count.


Часовой пояс GMT +4, время: 11:01.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.