Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Размер Movieclip с фильтром (http://www.flasher.ru/forum/showthread.php?t=211413)

Isfet 27.08.2015 08:00

Размер Movieclip с фильтром
 
Вложений: 1
Во flash IDE есть символ - круг с фильтром свечения Вложение 31774


когда открываю его во flashdevelop - и пишу допустим :

Код AS3:

 
var myMc:MyMovieClip = new MyMovieClip ();
trace(myMc.width , myMc.height);

видим размер - х2, каким образом вытаскивать размеры мувика с фильтрами ? (x1)

Zebestov 27.08.2015 09:36

Помогут только методы draw и getColorBoundsRect. Главное при отрисовке не забыть сделать отступ на достаточное количество пикселей, чтобы заведомо поместились эффекты.

callme 27.08.2015 10:13

Есть метод generateFilterRect() который по описанию делает то, что нужно. Но сам не пробовал.

Isfet 27.08.2015 10:46

это методы bitmapData, и чтобы их вызвать надо отрисовать Movieclip в BitmapData, а для этого нужно знать его размеры c фильтром, иначе фильтр обрежется.

Zebestov 27.08.2015 10:53

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

callme 27.08.2015 11:23

Цитата:

Сообщение от Isfet (Сообщение 1186114)
это методы bitmapData, и чтобы их вызвать надо отрисовать Movieclip в BitmapData, а для этого нужно знать его размеры c фильтром, иначе фильтр обрежется.

Не обязательно отрисовывать. Попробуй примерно так сделать:

Код AS3:

var movieClip:MovieClip = new MovieClip();
var bounds:Rectangle = movieClip.getBounds(movieClip);
var bitmapData:BitmapData = new BitmapData(1, 1);
var rectangle:Rectangle = new Rectangle();
 
for each (var filter:BitmapFilter in movieClip.filters)
{
    var filterRect:Rectangle = bitmapData.generateFilterRect(bounds, filter);
    rectangle = rectangle.union(filterRect);
}



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

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