Вращение во flash приводит к тому, что границы изображения выглядят “пикселизированными”, как это исправить?
-
21-08-2019 - |
Вопрос
У меня есть растровое изображение, загруженное во flash, для 2D-игры.Растровое изображение представляет символ и вращается, когда пользователь использует клавиши A (влево) или D (вправо).Проблема, с которой я сталкиваюсь, заключается в том, что граница изображения становится уродливой при вращении, вы можете видеть "пиксели" (вы всегда можете видеть пиксели, но я надеюсь, вы понимаете, что я имею в виду).
Как я могу исправить это в actionscript 3, может быть, изменить алгоритм поворота или "исправить" изображение после поворота?Или я должен сохранить / отобразить изображение по-другому, например.Фотошоп перед использованием его со вспышкой?
Обновить:обратите внимание, что фон игры постоянно меняется.
Заранее благодарю.
Решение
используйте вспышка.отображение.Растровое изображение:: сглаживание собственность ...langref указывает, что при масштабировании он сглаживается, но он работает и при вращении ...
приветствие
back2dos назад 2dos
Другие советы
Если изображение является внешней загрузкой (класс загрузчика), то вы можете написать:
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
Ваше здоровье...
Вы могли бы попробовать простое сглаживание по краям, суммируя пиксель, который находится там, и пиксель, который вы будете накладывать.Вы могли бы взглянуть на Сглаживание Wu для пример вы могли бы использовать в качестве отправной точки.
Краткое замечание:Вращение растровых изображений происходит медленно, поэтому при загрузке игры было бы неплохо взять символы, которые часто вращаются или являются обычными, повернуть их на каждый 1 градус, который возможен в игре, использовать BitmapData.draw и поместить его в массив (или вектор в FP10, если возможно), а затем использовать эти растровые изображения.
УРА, обкатанные предложения!
Счастливого Кодирования!:-)