Форум 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)
-   -   random по времени. (http://www.flasher.ru/forum/showthread.php?t=76636)

warlock_black 09.03.2006 14:21

random по времени.
 
Оказывается не в том разделе спрашивал:)

Еще раз:

Есть 2 кадра с stop() в первом.
Нужно, чтобы иногда проигрывался второй кадр. Но проигрывался произвольно. То есть, иногда через 3 секунды после того как мувик будет загружен, а иногда и через 5 минут.
Как такое можно сделать, может подскажет кто?

Juice_Green 09.03.2006 15:00

что именно непонятно?! алгоритм или написание кода?

warlock_black 09.03.2006 15:22

Если честно, то и то и другое:)
Не знаю даже с какого конца заходить...

Futs 09.03.2006 15:36

Читай setInterval и Math.random, там все понятно

warlock_black 09.03.2006 15:49

Так рекомендовали уже прописать следующее:
setInterval(gotoAndPlay,(random(3)+3)*1000,2);

Так ведь не работает...

Futs 09.03.2006 15:56

вместо gotoAndPlay напиши play()

Futs 09.03.2006 16:04

протупил пиши так:
Код:

stop();
function myPlay (par) {
        _root.gotoAndPlay(par);
        trace("переход")

}
setInterval(myPlay,Math.random()*10000,2);


warlock_black 09.03.2006 16:36

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

Futs 09.03.2006 16:38

естественно, надо не забывать про clearInterval во втором кадре, подумай!

warlock_black 09.03.2006 17:03

Подумал... видать тупой...:(
Не понимаю главного, отчего это происходит, т.е. откуда берется перекос в сторону 2-ого кадра...

Вставлял я во 2-ой кадре clearInterval; - не помогает. Понятное дело, что не правильно... не улавливаю какой-то элементарной вещи...

Futs 09.03.2006 17:12

Нужно не думать, а читать хелп
Код:

1 кард var inID = setInterval(myPlay,Math.random()*10000,2);
2 кадр clearInterval( inID );

И попробуй в первом кадре trace(inID) и поймешь почему происходит ускорение процесса

warlock_black 09.03.2006 17:16

А случайно не так это пишется:

в 1-ом кадре в конце: intervalId = setInterval(myPlay, Math.random()*10000, 2);
во 2-ом кадре: clearInterval(intervalId);

Правильно?

warlock_black 09.03.2006 17:18

его и читаю:)

клево, я все-таки правильно додумался:)
Спасибо огромное:)

Futs 09.03.2006 17:46

Я очень рад

warlock_black 09.03.2006 19:11

Я тоже:)

А почему при записи: _root.gotoAndPlay(par); - работает и трасировка и объекты в кадрах, при gotoAndPlay(par); (если мувик находится не в руте) тоже все работает, а если пишу this.gotoAndPlay(par); , то работает только трасировка. А с объектами в кадрах ничего не происходит? То есть загружается первый кадр и не сменяется на второй? Таже непонятка, если this заменить на имя клипа...

Futs 09.03.2006 19:48

Помню столкнулся с этим, что бы долго не возиться передал функции еще один параметр setInterval(myPlay, Math.random()*10000, 2, this); и получал соответственно:
function myPlay (par,put) {
put.gotoAndPlay(par);

warlock_black 09.03.2006 20:06

хитро:)
век живи - век учись:)
А то получалось, что мувик грузится в родителя, а тот воспринимает функцию, как глобольную и тут такое с родителем начаналось:)

Еще раз спасибо:)


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

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