如何用actionscript画一条很短的线?

时间:2009-03-06 13:19:55

标签: flex flash actionscript-3

我无法使用actionscript3绘制一个非常短的行:

var cSp:Sprite = new Sprite();
var cGx:Graphics = cSp.graphics;
cGx.lineStyle( 1, 0xFF0000, 1, false, LineScaleMode.NONE, null, null, 1 );

cGx.moveTo( 2, 10 );
cGx.lineTo( 3, 10 );

这会创建两个垂直堆叠的像素,这些像素不是很红(#7f0000)!

vertical line? http://www.freeimagehosting.net/uploads/449212bd1f.png

(这里放大了:)

zoomed in http://www.freeimagehosting.net/uploads/5c9014a148.png

由于我试图画一条水平线,这不是我的预期。我假设这里有一些别名/子像素技巧。绘制真正短线或一个像素的命令的神奇组合是什么?

注意:如果我的线条长度为4像素(或更长),则会按预期呈现(长度超过4像素,高度为1像素,每个渲染像素为#FF0000)

1 个答案:

答案 0 :(得分:5)

您是否尝试使用各种大写关节设置?您的null / null值将指示Flash使用圆形帽和圆形关节。 斜接限制的[last]参数“1”也会被忽略,因为你不会使用斜接接头。

我建议先尝试CapsStyle.NONE。然后可能是斜接接头。供参考:Graphics.lineStyle()

编辑:尝试使用像素提示