Поворот во вспышке, заставляющий границы изображения выглядеть «пиксельно», как это исправить - PullRequest
0 голосов
/ 29 июня 2009

У меня есть изображение, загруженное во флэш-память для 2D-игры. Растровое изображение представляет символ и вращается, когда пользователь использует клавиши A (слева) или D (справа). У меня проблема в том, что при вращении граница изображения становится уродливой, вы можете видеть «пиксели» (вы всегда можете видеть пиксели, но я надеюсь, вы понимаете, о чем я).

Как я могу это исправить в ActionScript 3, возможно, изменить алгоритм поворота или «исправить» изображение после поворота? Или я должен сохранить / визуализировать изображение по-другому, например. Photoshop, прежде чем использовать его с Flash?

Обновление: обратите внимание, что фон игры постоянно меняется.

Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 29 июня 2009

Если изображение является внешней загрузкой (класс Loader), то вы можете написать:

Bitmap(myLoader.content).smoothing=true;

Если он внутренний (находится в библиотеке), необходимо щелкнуть правой кнопкой мыши растровое изображение библиотеки> свойства и включить «Сглаживание». Кроме того, если вы создаете его как BitmapData, вам нужно сделать это:

var bmp:BitmapData=new LibraryBitmap(0,0);
var bitmap:Bitmap=new Bitmap(bmp,"auto",true); //the third argument is smoothing

Приветствия ...

3 голосов
/ 29 июня 2009

использовать свойство flash.display.Bitmap :: smoothing ... langref указывает, сглаживает при масштабировании, но работает и для вращения ...

Greetz

back2dos

2 голосов
/ 29 июня 2009

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

1 голос
/ 03 июля 2009

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

YAY, разбросанные предложения!

Удачного кодирования! : -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...