Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Allow smoophing для MovieClip (http://www.flasher.ru/forum/showthread.php?t=202665)

Ёлочка 31.07.2013 14:09

Allow smoophing для MovieClip
 
Можно ли как-нибудь управлять сглаживанием мувиклипа, в котором картинки? Эти картинки добавлены через библиотеку, поэтому через код управлять "allow smoophing" очень неудобно. А сглаживание нужно то включать, то отключать.

Нашла ConvolutionFilter! Проблема решена!

Не решена. Квадратики все равно видно. :(

XoJlToH 31.07.2013 17:02

Обходите всех детей и если они битмапы - включайте либо выключайте сглаживание на них

caseyryan 31.07.2013 17:14

Цитата:

А сглаживание нужно то включать, то отключать.
Для этих целей нужно писать класс, который будет управлять всей графикой. И все переключение сведется к вызову одной функции.

XoJlToH 31.07.2013 17:56

Цитата:

Сообщение от caseyryan (Сообщение 1142440)
Для этих целей нужно писать класс, который будет управлять всей графикой. И все переключение сведется к вызову одной функции.

Ну именно для этой функции не обязательно класс, можно просто функцию такого рода

Код AS3:

private function setSmoothing($target: DisplayObjectContainer, smoothing: Boolean): void
                {
                        if ($target)
                        {
                                for (var i: int = 0; i < $target.numChildren; i++)
                                {
                                        var tmpMc: *=$target.getChildAt (i);
                                        if (tmpMc is Sprite)
                                        {
                                                setSmoothing (tmpMc, smoothing);
                                        }
                                        else if (tmpMc is Bitmap)
                                        {
                                                trace ("bitmap found", tmpMc);
                                                var bmp: Bitmap = (tmpMc as Bitmap);
                                                bmp.smoothing = smoothing;
                                        }
                                }
                        }
                }


Ёлочка 31.07.2013 18:49

XoJlToH, если бы... Картинка из библиотеки положена в мувиклип. При getChildAt(0) as Bitmap выпадает ошибка, потому что getChildAt(0) is Shape. Там картинки почему-то не битмапы, а шейпы. Из-за этого smoophing включить нельзя.
Цитата:

Для этих целей нужно писать класс, который будет управлять всей графикой. И все переключение сведется к вызову одной функции.
caseyryan, изначально не планировалось ничего такого. А потом мне говорят, что всё мыльное.) Теперь мне нужно при повороте картинки включать smoophing, а при прямых углах отключать, чтобы не было мыла. Поэтому у меня два варианта. Либо найти способ сглаживать вложенные картинки, либо переписывать половину кода.)

XoJlToH 01.08.2013 19:35

а, пардон, пометьте в библиотеке битмапы на экспорт и задайте им линкейдж имена - тогда они будут битмапами


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

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