1

我正在用 as3 制作街机游戏,我想绘制像素(没有被 flash 平滑)线。我正在将像素“手动”(而不是使用 flash 的 lineTo 或任何东西)绘制到位图数据对象上。

不过,这些线条看起来不太正确,当缩小时,线条在某些部分被渲染为 2 像素厚。然而,通过缩放它很明显该算法很好并且它不会使像素加倍。改变质量似乎并没有改变任何东西。知道如何获得像素完美的线条吗?

g=new BitmapData(w,h,false,0x000000);
var bmp:Bitmap=new Bitmap(g);
addChild(bmp);
//...
Util.drawLine(x1,y1,x2,y2,0xFFFFFF,g);

替代文字

该算法不相关,因为我从缩放中知道它并没有真正加倍,并且由于它绘制为位图,它必须以像素增量绘制。但它只是此页面上列出的第二个的 as3 版本

4

2 回答 2

0

如果我没记错的话,flash 中的线条是带有描边且没有填充的路径。所以问题是路径是精确的像素值,但是笔画被分成两行(一个左,一个右),每行 0,5 闪存像素宽(或 2 个实际像素,我们知道它们,宽 0.5 alpha)我认为移动线+ 0.5将解决问题。

于 2010-01-07T21:17:41.647 回答
0

好的,我修好了。浏览器正在缩放闪存。

stage.scaleMode=StageScaleMode.NO_SCALE;

这就是摆脱文物所需要的一切。

于 2010-01-07T22:28:27.240 回答