Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Проблема с дубликейт (http://www.flasher.ru/forum/showthread.php?t=45356)

Ivanochek 28.05.2003 14:11

Проблема с дубликейт
 
Значит такая вот проблем: делаю море и на неем должны быть блики, естественно нашел скрипт, который бы эти блики множил менял в размере и двигал, но вот не задача он жрет сто процентов ресурсов процесора, не подскажете как ето можно сделать чтоб проц так не тормазил???

Dimonius 28.05.2003 14:20

написать самому и с умом

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

Ivanochek 28.05.2003 14:29

да я дизайнер а на меня повесили флеш, и frity скрипт я знаю по стольку по скольку, пробавал разобраться не получаеться...

сам мувик предстовляет из себя круг с градиентной заливкой от белого к прозрачному, и потом сам мувик приплюснут и нет в нем не какой анимации...

на счет компа: pentium III 1.00 GHz, оперативка 384 ;)

Dimonius 28.05.2003 14:52

ну тогда давай скрипт посмотрим, может что-нить обнаружим, вообще-то я тоже дизайнер.
ну может и профи-програмеры подключатся.

Ivanochek 28.05.2003 17:04

это на мувике:

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;
}

Techmaker 28.05.2003 17:31

ну незнаю тут вроде тоько одна ошибочка - это создание лупа... :) (красным цветом выделил) - мув должен двигатся в другую сторону...

это на мувике:

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)}

ещё проверь имя мувика... :)

dee2 28.05.2003 17:46

1. Нужно отключить антиалиасинг у дублирующего клипа

onClipEvent (load) {
this._highquality = 0;
...
...

2. Если волн не 45, а 30 к примеру - то море получается не менее красивое, только волнение не 4 а 3 балла :)

objects = 30;

Techmaker 28.05.2003 17:49

упс... :) у тебя же скорость отрицательная..... а я и незаметил...
всё у тебя правилно было...

Dimonius 28.05.2003 17:51

говорят, что цикл for работает быстрее while, поэтому предлагаю в кадре написать:

Код:

for (i=1;i<=45;i++){
        duplicateMovieClip("bar", "bar"+i, i);
        }

но это я боюсь особо не поможет

у тебя много вычислений связанных со свойствами клипов, прежде всего альфа(это дело очень жрет ресурсы процессора), а если учесть что их судя по коду 46 (т.е. 12 раз в секунду, если у тебя такая скорость кадров, флэш пересчитывает все это заново, вдобавок присутствует градиент в заливке да и надо учитывать что в сцене помимо волн еще что-то находится - соответственно единственный возможный выход - это сократить число клонов, или не вычислять альфу, что конечно скажется на полноте замысла, однако я думаю здесь надо понимать, что DOOM3 вряд ли пошел бы на PC486.

Ivanochek 28.05.2003 18:33

dee2 TCKB Я НЕ ОШИБАЮСЬ ЭТО ГЛОБАЛЬНАЯ ФУНКЦИЯ ТО ЕСТЬ ОНА НА ВЕСЬ КЛИП РАПРОСТРАНЯЕТЬСЯ ИЛИ Я ОШИБАЮСЬ??? :)

Dimonius У МЕНЯ ДАЖЕ 30 КАДРОВ СТОИТ :(


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

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