PDA

Просмотр полной версии : Сглаживание в MovieClip'е


IvanHito
10.12.2011, 17:33
Приветствую всех!
Я загружаю MovieClip, в котором есть объект типа "Графика". Мне нужно сгладить этот объект. Проблема такая: сглаживать я умею только Bitmap, а объект "Графика" мне из as3 доступен как Shape. Вот и не понятно, что с этим Shape делать?

alatar
11.12.2011, 00:01
Отрисовать в BitmapData и для Bitmap выставить сглаживание. Для векторной графики нет понятия "сглаживание".

IvanHito
11.12.2011, 01:27
Спасибо за совет, но так я уже пробовал: возникает другая проблема. Может, неправильно рисую в Bitmap? Я делаю так:

var shpLamp:Shape = _sl1_mc.getChildAt(0) as Shape;
var dataLamp:BitmapData = new BitmapData(shpLamp.width,shpLamp.height);
dataLamp.draw(shpLamp);
var bmpLamp:Bitmap = new Bitmap(dataLamp);
if (bmpLamp)
{
bmpLamp.smoothing = true;
_sl1_mc.removeChild(shpLamp);
_sl1_mc.addChildAt(bmpLamp,0);
}

В итоге нарисованный объект приобретает белый фон в тех местах где раньше было пусто. Подскажите тогда, как с этим бороться?

Добавлено через 4 минуты
И может, есть возможность поставить какой-нибудь атрибут "сглаживание" для картинки ещё на стадии формирования мувика во flash?

GBee
11.12.2011, 01:37
В итоге нарисованный объект приобретает белый фон в тех местах где раньше было пусто. Подскажите тогда, как с этим бороться?
Два последних параметра конструктора BitmapData (w, h, true, 0) вроде

alatar
11.12.2011, 01:39
Подскажите тогда, как с этим бороться?
Прочитать докуметацию (http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/index.html#!flash/display/BitmapData.html).
var dataLamp:BitmapData = new BitmapData(shpLamp.width,shpLamp.height, true, 0);
У метода draw есть параметр smoothing.

IvanHito
11.12.2011, 02:37
Спасибо! В том числе и за терпение. ) Ушёл учить мат.часть )