我正在尝试为我们正在工作的项目调整位图大小为3.0。基本上我们有一堆sprite,它们在bitmapData上绘制,然后存储在一个向量中。向量中的数据最终存储在位图对象中。现在我想让BitmapData sprite更小,但不想更新100矩阵来做它。还有另一种方式吗?
我通过缩放显示的位图获得了一些成功,但图像看起来有点锯齿状,而且模型不会仅仅是月球漫步。
我也累了Matrix.a = 0.4
和matrix.d = 0.4
,但这没有做任何事。
当我bitmap.scalex = 0.7
和scaleY
相同时,它变得更小但现在它们在空中,因为x和y不对,而它们反向的代码是只是做scalX *= -1
现在似乎也没有用。此外,我想出了如何将它们从空中移开,但它们就像在锯齿状和月亮行走之前所说的那样。请帮忙,因为我试图修复在我到达之前编写的代码。
基本上这里有一些代码,我得到了首席执行官的批准:
我们有这个:
var b:BitmapData = new BitmapData(CustomerRenderer.BLIT_WIDTH,
CustomerRenderer.BLIT_HEIGHT, true, 0x00000000);
for(var i:int=0; i<WRAPPER.numChildren; i++)
{
b.draw(Sprite(WRAPPER.getChildAt(i)),
WRAPPER.getChildAt(i).transform.matrix, null, null, b.rect, true);
}
_spriteSheet[_currentFrame] = b;
然后我们在
中使用该数据 BAKED_BITMAP.bitmapData = _spriteSheet[_currentFrame];
显示BAKED_BITMAP
是位图的位置
然后翻转所有人正在做的是:
BAKED_BITMAP.scaleX *= -1;
BAKED_BITMAP.x = (BAKED_BITMAP.scaleX >= 0) ? 0 : BLIT_WIDTH;
感谢
答案 0 :(得分:2)
您可以尝试设置smoothing
对象的Bitmap
属性,看看它是否能为您提供所需的效果。