我在 Flash 中加载了一个位图,用于 2D 游戏。位图代表一个字符,当用户使用 A(左)或 D(右)键时,它正在旋转。我遇到的问题是图像的边框在旋转时变得难看,你可以看到“像素”(你总是可以看到像素,但我希望你明白我的意思)。
如何在 actionscript 3 中解决此问题,可能更改旋转算法或在旋转后“修复”图像?或者我应该以不同的方式保存/渲染图像,例如。Photoshop 在与 Flash 一起使用之前?
更新:注意游戏的背景是不断变化的。
提前致谢。
我在 Flash 中加载了一个位图,用于 2D 游戏。位图代表一个字符,当用户使用 A(左)或 D(右)键时,它正在旋转。我遇到的问题是图像的边框在旋转时变得难看,你可以看到“像素”(你总是可以看到像素,但我希望你明白我的意思)。
如何在 actionscript 3 中解决此问题,可能更改旋转算法或在旋转后“修复”图像?或者我应该以不同的方式保存/渲染图像,例如。Photoshop 在与 Flash 一起使用之前?
更新:注意游戏的背景是不断变化的。
提前致谢。
如果图像是外部加载(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
干杯...
您可以通过将那里的像素与您将要覆盖的像素相加来尝试沿边缘进行简单的抗锯齿。您可以查看Wu antialiasing作为起点的示例。
快速说明:位图旋转很慢,因此在加载游戏时,最好将经常旋转或常见的角色旋转到游戏中可能的每 1 度,使用 BitmapData.draw , 并将其推送到数组(或 FP10 中的向量,如果可能的话),然后使用这些位图。
耶,连续句子!
快乐编码!:-)