![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 85
|
Люди добрые, помогите кто чем может. Третий день честно бьюсь — никак не осилю задачу. Сначала опишу что мне нужно.
Есть 4 внешних простых однотипных мувика длиной по 25(неважно) кадров каждый - tree1.swf...tree4.swf Мне нужно выбирать случайным образом только один из них, загрузить его на сцену, проиграть до конца и выгрузить. После этого через случайный промежуток времени (в интервале примерно 1—5 сек) операция повторяется — выбираем случайно один мувик, грузим, играем, выгружаем — и так до бесконечности. При этом есть еще кнопка, при наведении на которую приостанавливается воспроизведение загруженного мува. Убрали курсор — мув играет дальше до конца и т.д. Надеюсь, понятно изложил. Поиском по форуму нашел кучу похожих примеров, но все они как-то вокруг да около, вобщем прикрутить под свои нужды так и не удалось ![]() Итак, что имеем (код оставил только тот, что более-менее работает, остальное вычистил.) В каждом из внешних мувов в последнем кадре прописал: чтобы клип сам выгружался по достижении конца — вроде работает. //функция генерации случайных чисел — пример из хелпа
_global.randRange = function(min:Number, max:Number):Number {
var randomNum:Number = Math.floor(Math.random()*(max-min+1))+min;
return randomNum;
};
//собственно, основная функция
showTreez = function () {
//генерим случ. номер от 1 до 4
ti = _global.randRange(1, 4);
//Здесь несущественно — предварительные вычисления всяких координат-размеров
d = _global.randRange(-1, 1);
if (d>=0) {
di = 1;
} else {
di = -1;
}
//временно принудительно грузим только 4-й мув, для простоты
ti = 4;
//грузим собственно мув и он начинает играть
this.createEmptyMovieClip("t_mc", 10);
loadMovie("treez/tree"+ti+".swf", t_mc);
t_mc._x = 360;
t_mc._y = 158.7;
t_mc._xscale = di*100;
};
//--------------Main code-------------------
//здесь для простоты пока взят постоянный интервал, хотя нужен случайный
setInterval(this, "showTreez", 3000);
//ну, и кнопка
bt.onRollOver = function() {
t_mc.stop();
};
bt.onRollOut = function() {
t_mc.play();
};
Также ни к чему не привела попытка подставить в сетИнетрвале что-то вроде Еще во внешних мувах прописал на всяк случай но отловить его у меня тоже не получилось ![]() Вобщем, совсем уже крыша едет. Подскажите, пожалуйста, что сделать, чтобы "со всей этой фигней взлететь?" ![]() На всяк случай вот исходник с одним внешним мувом. randomtreez.ZIP зы Обещаю, если все получится как надо - выложить тут ссылу на сайт, где эта красота будет крутиться ![]() |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Основная флешка, первый кадр
function init ():Void {
setInterval (this, "load", случайное время);
}
function load ():Void {
тут грузим случайный клип
}
init ();
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 85
|
О, спасибо, попробую
![]() А когда и где генерить случайное время? upd Вобщем, попробовал так: _global.randRange = function(min:Number, max:Number):Number {
var randomNum:Number = Math.floor(Math.random()*(max-min+1))+min;
return randomNum;
};
function init ():Void {
setInterval (this, "load", 5000);
}
function load ():Void {
ti = _global.randRange(1, 4);
d = _global.randRange(-1, 1);
if (d>=0) {
di = 1;
} else {
di = -1;
}
this.createEmptyMovieClip("t_mc", 10);
loadMovie("treez/tree"+ti+".swf", t_mc);
t_mc._x = 360;
t_mc._y = 158.7;
t_mc._xscale = di*100;
};
init();
bt.onRollOver = function() {
t_mc.stop();
};
bt.onRollOut = function() {
t_mc.play();
};
function init ():Void {
rndTime = _global.randRange(2, 5);
setInterval (this, "load", rndTime*1000);
}
Сдается где-то чего-то еще не хватаетПоследний раз редактировалось drobinkin; 05.05.2008 в 08:55. |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 85
|
Взял на себя смелость
![]() function init ():Void {
rndTime = _global.randRange(2, 5);
_global.a=setInterval (this, "load", rndTime*1000);
}
Убрал this - это правильно? Что я могу сказать — ура, клипы грузятся и работают как надо Спасибо большоеКнопка вроде тоже заработала как надо Последний раз редактировалось drobinkin; 05.05.2008 в 10:50. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:00. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|