AS3绘图 - 如何对对象进行分层,使得一条线位于其他线后面?

时间:2012-09-19 18:04:18

标签: actionscript-3 flash flex actionscript draw

如何在我的线后画线?

有人可以告诉我怎么做吗?

我需要它因为我是一个游泳池,所以我需要制作棒。

这是我的代码:

stage.addEventListener(MouseEvent.MOUSE_MOVE, mousePosition);
var MouseLine:Shape = new Shape();
addChild(MouseLine);

function mousePosition(event:MouseEvent)
{
MouseLine.graphics.clear();
MouseLine.graphics.lineStyle(1, 0xFF0000, 1);
MouseLine.graphics.moveTo(375, 250);
MouseLine.graphics.lineTo(mouseX, mouseY);
}

1 个答案:

答案 0 :(得分:3)

Flash有一个非常简单的图层系统。您可以使用addChild(displayObject)始终将传递的对象置于其他所有对象之上,或addChildAt(displayObject,index)将传递的显示对象置于特定位置(或者如果您愿意,则为图层)。索引为0会将其置于底部,一个等于子总数(少于1)的索引将放在所有内容之上,相当于使用addChild()。

如果您需要在事后(使用addChild之后)更改图层排序,则可以使用setChildIndex()方法,该方法与addChildAt基本相同,但对于已添加的内容。

如果你的其他行被称为棒:

addChildAt(stick,0);

将你的棍子放在同一父母的其他所有东西上。 如果你想在MouseLine后面有一个位置,你可以这样做:

addChildAt(stick,getChildIndex(MouseLine));

如果您只是坚持在单个对象中绘制(使用图形对象),那么您首先绘制的线条/形状将位于任何后续形状/线条的后面。