Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Рандомно вызывать несколько функций (http://www.flasher.ru/forum/showthread.php?t=157792)

Ylik 10.06.2011 22:09

Рандомно вызывать несколько функций
 
Здравствуйте! Очень интересен такой вопрос: например, есть 2 функции, как их можно вызывать в случайном порядке (или по-очереди) при вхождении в кадр?
Спасибо большое тем, кто уделит внимание!

КорДум 10.06.2011 22:54

Код AS1/AS2:

if (Math.random() > .5) {
    foo1();
} else {
    foo2();
}


Ylik 10.06.2011 22:55

О, спасибо большое за ответ! Попробую ваш вариант. :)

mooncar 10.06.2011 22:57

Например:
Код AS1/AS2:

var funcName:String = 'fn' + (Math.floor(Math.random() * 4) + 1);
this[funcName]();
 
function fn1 ()
{
        trace(1);
}
 
function fn2 ()
{
        trace(2);
}
 
function fn3 ()
{
        trace(3);
}
 
function fn4 ()
{
        trace(4);
}

Либо:
Код AS1/AS2:

var fns:Array = [fn1, fn2, fn3, fn4];
fns[Math.floor(Math.random() * 4)]();
 
function fn1 ()
{
        trace(1);
}
 
function fn2 ()
{
        trace(2);
}
 
function fn3 ()
{
        trace(3);
}
 
function fn4 ()
{
        trace(4);
}

Упс, вам 2 надо было... Ну тут универсальные варианты, можно и две :)
Второй вариант - любые имена, можно и не схожие-нумерованные. Нужные ссылки на функции просто в массив загнать.

Ylik 10.06.2011 22:58

Ух-ты, сколько вариантов! :)
Попробуем! Спасибо большое!!! :)

КорДум 10.06.2011 22:58

Это если функции имеют схожие имена :)

Ylik 10.06.2011 23:00

Ну да, старалась так и делать. :)

КорДум 10.06.2011 23:02

mooncar, вы телепат. Или просто уже привыкли? ;)

mooncar 10.06.2011 23:04

Цитата:

Сообщение от КорДум (Сообщение 1002821)
mooncar, вы телепат. Или просто уже привыкли? ;)

Тсс... :)

КорДум 10.06.2011 23:07

Код AS1/AS2:

Math.random() > .5 ? foo1() : foo2();

Я выиграл ;)


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

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