Просмотр полной версии : random по времени.
warlock_black
09.03.2006, 14:21
Оказывается не в том разделе спрашивал:)
Еще раз:
Есть 2 кадра с stop() в первом.
Нужно, чтобы иногда проигрывался второй кадр. Но проигрывался произвольно. То есть, иногда через 3 секунды после того как мувик будет загружен, а иногда и через 5 минут.
Как такое можно сделать, может подскажет кто?
Juice_Green
09.03.2006, 15:00
что именно непонятно?! алгоритм или написание кода?
warlock_black
09.03.2006, 15:22
Если честно, то и то и другое:)
Не знаю даже с какого конца заходить...
Читай setInterval и Math.random, там все понятно
warlock_black
09.03.2006, 15:49
Так рекомендовали уже прописать следующее:
setInterval(gotoAndPlay,(random(3)+3)*1000,2);
Так ведь не работает...
вместо gotoAndPlay напиши play()
протупил пиши так:stop();
function myPlay (par) {
_root.gotoAndPlay(par);
trace("переход")
}
setInterval(myPlay,Math.random()*10000,2);
warlock_black
09.03.2006, 16:36
ага, работает. Правда с очень странным эффектом...:)
У меня в первом мувик с нормальным текстом, а во-втором, с эффектом блюр.
Так вот, твой random работает почему-то по нарастающей:) То есть, при компиляции мувика надо подождать некоторое, время для того, чтобы увидеть результат. Зато потом, рандомайзить начинает с уклоном и даже с задержкой на втором кадре. Причем чем больше времени проходит, тем больлее на сцене преобладет второй кадр. В результате, вместо текста, который иногда"глючит" (типа эффект), я получаю практически нечитабельный текст:)
естественно, надо не забывать про clearInterval во втором кадре, подумай!
warlock_black
09.03.2006, 17:03
Подумал... видать тупой...:(
Не понимаю главного, отчего это происходит, т.е. откуда берется перекос в сторону 2-ого кадра...
Вставлял я во 2-ой кадре clearInterval; - не помогает. Понятное дело, что не правильно... не улавливаю какой-то элементарной вещи...
Нужно не думать, а читать хелп 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
его и читаю:)
клево, я все-таки правильно додумался:)
Спасибо огромное:)
warlock_black
09.03.2006, 19:11
Я тоже:)
А почему при записи: _root.gotoAndPlay(par); - работает и трасировка и объекты в кадрах, при gotoAndPlay(par); (если мувик находится не в руте) тоже все работает, а если пишу this.gotoAndPlay(par); , то работает только трасировка. А с объектами в кадрах ничего не происходит? То есть загружается первый кадр и не сменяется на второй? Таже непонятка, если this заменить на имя клипа...
Помню столкнулся с этим, что бы долго не возиться передал функции еще один параметр setInterval(myPlay, Math.random()*10000, 2, this); и получал соответственно:
function myPlay (par,put) {
put.gotoAndPlay(par);
warlock_black
09.03.2006, 20:06
хитро:)
век живи - век учись:)
А то получалось, что мувик грузится в родителя, а тот воспринимает функцию, как глобольную и тут такое с родителем начаналось:)
Еще раз спасибо:)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.