Просмотр полной версии : Скрипт "мельтешения" - где найти?.
Скрипт "мельтешения". Подскажите где посмотреть пример скрипта генерящего один и тот же клип по всему экрану в RND порядке. И желательно убивающий старые перед запуском новых.
Спасибо.
iLoveYou
09.02.2003, 14:10
Можно так.
accorpid
09.02.2003, 14:19
Делается это с помощью myMovieClip.attachMovie.
пишется так.
_root.onEnterFrame = function melkanie(){
if(i<=0){i=1}
if(i<2){i++} else {i--}
if(i=2){_root["clip"+i-1].removeMovieClip} else
{_root["clip"+i+1].removeMovieClip}
_root.attachMovie( Параметр linkage клипа из библиотеки, "Clip"+i, 1);
_root["clip"+i]._x = random(800);
_root["clip"+i]._y = random(600);
}
все.
iLoveYou
09.02.2003, 15:11
2accorpid
зачем такой изврат?
Чёй-то не скачивается ZIP. Сохраняет "attachment" какой-то.
iLoveYou
09.02.2003, 16:12
переименуй свой атачмент в вася.зип и открой...
accorpid
10.02.2003, 00:05
Незнаю. DuplicatMovieClipom красивей. согласен. - но! - что выросло - то выросло. работает - и то не плохо. Хотя выглядит ПЛОХО.... :rolleyes: :rolleyes: :D :D
Nox Noctis
10.02.2003, 04:18
ээ... это... может я чего-то не понимаю - но нахрена дублировать каждый раз ? :))
клип-то один-единственный... почему просто не менять ему координаты рандомно по ентерфрейму ?..
iLoveYou
10.02.2003, 11:28
ooops! :eek:
Видимо, потихоньку вхожу в стадию маразма - вопрос невнимательно прочитал :D
Приношу извинения.
На самом деле это я не совсем правильно вопрос поставил. Дубляж клипов наоборот нужен (я хотел сам доделать это в предоставленном "Sergey"iLoveYou"" примере), так чтобы клипов 20-30 постоянно весь экран закрывали, и постоянно рождались, умирали, не вылезая за этот размер популяции :) (20-30). Раз уж пошла такая пьянка, "accorpid", не подкинешь (-ете) свой пример уже в работающем файле? Был бы благодарен, а то я чуЙствую мне еще разбираться придется со всякими "linkage" :) или пытаться подделать пример любезного "Sergey"iLoveYou"". Спасибо.
Nox Noctis
13.02.2003, 14:52
// на сцене лежит исходный клип с именем "клип0"
размер_популяции = 20;
c = 0; // это счетчик
onEnterFrame = function () {
this["клип"+c]._x = random(500);
this["клип"+c]._y = random(400);
d = клип0.duplicateMovieClip("клип"+(++c), c);
c *= (c != размер_популяции);
};
ии всеее.... :))
Вот черт. И работает ведь. 5 строчек. Не совсем понимаю как, но работает. Спасибо Nox Noctis :) , выручил.
Nox Noctis
13.02.2003, 16:41
а что не понятно ?
в ентерфрейме дублируем клип0. к счетчику прибавляем 1.
когда счетчик равен размеру популяции - он обнуляется.
и новые дубликаты начинают стирать старые, потому как глубины и имена клипов повторяются.
счетчик бегает от 0 до 20.
вот и все :)
iLoveYou
13.02.2003, 17:57
хе-хе, Nox, ты ж его убить мог... До этих строк, наверное, все понятно.
d = клип0.duplicateMovieClip("клип"+(++c), c);
c *= (c != размер_популяции);
Поясняю.
1 строка: дублируем клип0 с именем ("клип"+увеличенное на единицу значение счетчика c (++c - инкремент в префиксной форме, т.е. сначала с увеличивается, а затем используется)) на уровень с.
2 строка. выражение (c != размер_популяции) возвращает 0, если с и размер_популяции равны, соответственно с=с*0=0. Если ж не равны, то с=с*1=с. И в следующем ентерФрейме дублированный клип приобретает случайные координаты.
this["клип"+c]._x = random(500);
this["клип"+c]._y = random(400);
Надеюсъ, все понятно.
А можно сделать попроще(по крайней мере для понимания :) )
popul = 10;
counter = 0;
_root.onEnterFrame = function() {
clip0.duplicateMovieClip("clip"+counter, counter, {_x:random(500), _y:random(400)});
counter++;
if (counter == popul) {
counter = 0;
}
};
Nox Noctis
13.02.2003, 18:03
а знаешь почему у меня рандом координат стоит до дублирования и не в инитобджекте ? :))
потому что клип0 тогда тоже их получает.
а иначе у тебя нулевой клип на первом круге дублирований стоит там, куда ты его исходно поставил =)
Да, насчет обнуления С был логический тупик :). Спасибо братцы. Теперь я уже почти программист :)
iLoveYou
13.02.2003, 18:17
2Nox
Я знал, что ты заметишь =)
Исходный спрятать можно, если что... Твой код мне больше нравится.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.