![]() |
Проблема с дубликейт
Значит такая вот проблем: делаю море и на неем должны быть блики, естественно нашел скрипт, который бы эти блики множил менял в размере и двигал, но вот не задача он жрет сто процентов ресурсов процесора, не подскажете как ето можно сделать чтоб проц так не тормазил???
|
написать самому и с умом
а вообще надо посмотреть его что-бы, что-то конкретное сказать. Может быть дублирующиеся клипы также сильно громозкие по ресурсам, тогда и их надо упростить. А может комп сильно слабоват - тогда ничего уже не поделаешь:) |
да я дизайнер а на меня повесили флеш, и frity скрипт я знаю по стольку по скольку, пробавал разобраться не получаеться...
сам мувик предстовляет из себя круг с градиентной заливкой от белого к прозрачному, и потом сам мувик приплюснут и нет в нем не какой анимации... на счет компа: pentium III 1.00 GHz, оперативка 384 ;) |
ну тогда давай скрипт посмотрим, может что-нить обнаружим, вообще-то я тоже дизайнер.
ну может и профи-програмеры подключатся. |
это на мувике:
onClipEvent (load) { d = 200; _x = Math.random()*1300; _y = Math.random()*10-(_height/2); speed = Math.random()*-4-1; _xscale = 100+Math.random()*d; _yscale = 100+Math.random()*d; _alpha = Math.random()*30+10; } onClipEvent (enterFrame) { _x += speed; if (_x<=-200) { _xscale = 100+Math.random()*d; _yscale = 100+Math.random()*d; _y = Math.random()*10-(_height/2); speed = Math.random()*-4-1; _x = 1300; _alpha = Math.random()*30+10; } } это на кадре: objects = 45; loop = 1; while (loop<=objects) { duplicateMovieClip("bar", "bar" add loop, loop); loop = loop+1; } |
ну незнаю тут вроде тоько одна ошибочка - это создание лупа... :) (красным цветом выделил) - мув должен двигатся в другую сторону...
это на мувике: onClipEvent (load) { d = 200; _x = Math.random()*1300; _y = Math.random()*10-(_height/2); speed = Math.random()*-4-1; _xscale = 100+Math.random()*d; _yscale = 100+Math.random()*d; _alpha = Math.random()*30+10; } onClipEvent (enterFrame) { _x -= speed; if (_x<=-200) { _xscale = 100+Math.random()*d; _yscale = 100+Math.random()*d; _y = Math.random()*10-(_height/2); speed = Math.random()*-4-1; _x = 1300; _alpha = Math.random()*30+10; } } это на кадре: но я бы укоротил немного... вот так: for(i=1;i<=45;i++){bar.duplicateMovieClip("bar"+i,i)} ещё проверь имя мувика... :) |
1. Нужно отключить антиалиасинг у дублирующего клипа
onClipEvent (load) { this._highquality = 0; ... ... 2. Если волн не 45, а 30 к примеру - то море получается не менее красивое, только волнение не 4 а 3 балла :) objects = 30; |
упс... :) у тебя же скорость отрицательная..... а я и незаметил...
всё у тебя правилно было... |
говорят, что цикл for работает быстрее while, поэтому предлагаю в кадре написать:
Код:
for (i=1;i<=45;i++){у тебя много вычислений связанных со свойствами клипов, прежде всего альфа(это дело очень жрет ресурсы процессора), а если учесть что их судя по коду 46 (т.е. 12 раз в секунду, если у тебя такая скорость кадров, флэш пересчитывает все это заново, вдобавок присутствует градиент в заливке да и надо учитывать что в сцене помимо волн еще что-то находится - соответственно единственный возможный выход - это сократить число клонов, или не вычислять альфу, что конечно скажется на полноте замысла, однако я думаю здесь надо понимать, что DOOM3 вряд ли пошел бы на PC486. |
dee2 TCKB Я НЕ ОШИБАЮСЬ ЭТО ГЛОБАЛЬНАЯ ФУНКЦИЯ ТО ЕСТЬ ОНА НА ВЕСЬ КЛИП РАПРОСТРАНЯЕТЬСЯ ИЛИ Я ОШИБАЮСЬ??? :)
Dimonius У МЕНЯ ДАЖЕ 30 КАДРОВ СТОИТ :( |
| Часовой пояс GMT +4, время: 02:29. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.