PDA

Просмотр полной версии : Как использовать один из параметров команды?


MIHAnik
07.02.2013, 14:55
к примеру есть команда draw() с 6 параметрами. draw(1,2,3,4,5,6). Как мне использовать только 6?

Hauts
07.02.2013, 15:19
Использовать null для пропуска аргументов?

mooncar
07.02.2013, 15:21
MIHAnik, приучайтесь сразу к правильной терминологии. Это не команда, а метод класса.
У BitmapData.draw() первый аргумент обязательный, остальные опциональные, ставьте null.

MIHAnik
07.02.2013, 15:24
Hauts,mooncar, спасиб, нулл, все просто. А к терминологии попытаюсь приучится )

Добавлено через 5 минут
Хмм зделал так draw(1,null,null,null,null,1), не отображается рисунок. Видимо ему нужна матрица. Если нулл'ы убрать все работает.

mooncar
07.02.2013, 15:37
Экземпляр объекта не может называться "1".
"1" в конце тоже не надо, там требуется Boolean, а не Number.
PS. Да, матрицу в null никак.
Сделайте так:
bd.draw(obj, new Matrix(), null, null, null, null, true);
Хотя может кто лучше подскажет.

MIHAnik
07.02.2013, 15:48
неа не робит с new Matrix().

mooncar
07.02.2013, 15:54
Проверил, у меня работает:

import flash.geom.Matrix;

rasterizeMovieClip(mc);


function rasterizeMovieClip(obj, bdLev)
{
var _par = obj._parent;
var _lev = (bdLev) ? bdLev : _par.getNextHighestDepth();
var bd_mc = _par.createEmptyMovieClip(obj._name + "BD", _lev);
var bd = new flash.display.BitmapData(obj._width, obj._height, true, 0x00000000);
bd.draw(obj, new Matrix(), null, null, null, null, true);
bd_mc.attachBitmap(bd,bd_mc.getNextHighestDepth());
/*bd_mc._x = obj._x;
bd_mc._y = obj._y;*/
obj.swapDepths(_par.getNextHighestDepth());
obj.removeMovieClip();
}

Может класс Matrix не был импортирован?

MIHAnik
07.02.2013, 16:01
ща гляну про класс...

Добавлено через 4 минуты
Да действительно, про класс я забыл)) Только эффекта конеш нет от смуфа, чтож делать? Ни смуф, ни увеличение размеров битмапы не помогает?

mooncar
07.02.2013, 16:06
А какой эффект вы хотели?
Сглаживание работает, если что, хотя и не сильно выражено.
Если нужно размазать больше, накладывайте программный Blur.

MIHAnik
07.02.2013, 16:17
mooncar, ну нет, я пытаюсь избавится от пиксализации изображения. Получается как в том примере при увеличении.

mooncar
07.02.2013, 16:20
хм.. если вы растеризуете векторную графику, пикселизациии быть не должно. Разве что вы увеличиваете у копии масштаб (scale).