Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   MovieClip + Filter + Smoothing (http://www.flasher.ru/forum/showthread.php?t=97801)

DRAGOnoid 29.06.2007 17:05

MovieClip + Filter + Smoothing
 
делаем такую простую вещь:
на главной сцене размещаем 2 одинаковых ролика и называем их mc3 и mc4.
Код:

import flash.filters.*;
this.mc4.filters = [new GlowFilter(0x00FF00, 200, 10, 10)];
this.onEnterFrame = function () {
        this.mc3._x+=0.1;
        this.mc4._x+=0.1;
};

на один из мувклипов наложится фильтр и если первый перемещается плавно, то второй заметно скачет (плюсуется на 1 а не 0.1) я конечно понимаю что это связанно с вствроенным включением CacheAsBitmap.
Однако даже графические рисунки (изменяя свойства в библиотеке) можно заставить передвигаться сглаженно.. У меня вопрос - в моём случае с фильтром можно ли как то сделать сглаженное перемещение мувклипа с наложенным фильтром?

silin 29.06.2007 17:45

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

import flash.filters.*;
this.mc4.filters = [new GlowFilter(0x00FF00, 200, 10, 10)];
mc4._x+=0.5;
this.onEnterFrame = function () {
        this.mc4._x+=0.1;
        this.mc3._x+=0.1;
};

у меня нет внятных предположений что здесь и как.., тока не двигает никого плеер на дробные величины, т.е. даже если ты протрейсишь координаты в ентерФраме, то напишет по дробному, а покажет/перерисует все равно на целых значениях..

DRAGOnoid 29.06.2007 18:46

вот глянь файл - там характерно видно что нижний дёргается и двигается дискретно 1 а верхний плавно...

http://dragon.auditory.ru/uploads/sm.zip

silin 01.07.2007 01:30

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

DRAGOnoid 01.07.2007 08:29

я сам это дело исследовал и есть кое какие предположения...
Есть функция cacheAsBitmap - если например поставить её тру
this.mc3.cacheAsBitmap = true;
то мувик будет дёргаться...
теперь простое исследование
второй у нас с фильтром trace (this.mc4.cacheAsBitmap); // выдаст true

т.е. посути вопрос - можно ли как то сделать движение мувклипа сглаженный если на нём cacheAsBitmap (вариант на AS3 тоже сойдёт)

etc 01.07.2007 10:47

Ну если не жалко ресурсов процессора на постоянный перерасчет, сделай в мувик два одинаковых кадра. Затем во втором слоем выше нарисуй прозрачный (совсем) прямоугольничек.


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

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