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

jed*_*ikb 1 apache-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 );
Run Code Online (Sandbox Code Playgroud)

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

垂线?http://www.freeimagehosting.net/uploads/449212bd1f.png

(这里放大了:)

放大http://www.freeimagehosting.net/uploads/5c9014a148.png

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

注意:如果我将我的真正短线设置为4像素(或更长),它会按预期渲染(4个像素长,1个像素高,每个渲染像素#FF0000)

aib*_*aib 5

你尝试过使用各种帽子关节设置吗?您的null/null值将指示Flash使用圆形帽和圆形关节.您的[last]参数"1"对于斜接限制也将被忽略,因为您不会使用斜接接头.

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

编辑:尝试使用像素提示.

  • 谢谢.列举了所有可能性,这就是诀窍.lineStyle(1,0000FF0000,1,true,null,CapsStyle.SQUARE); (3认同)