ActionScript LineStyle颜色过早变化

时间:2010-06-29 15:44:38

标签: actionscript-3 graphics line draw

我正在尝试在彼此旁边画线,但第一个颜色组的最后一行在分配第二个颜色之前采用第二个颜色组的颜色。任何人都能解释一下吗?

function drawCorner()
    {
    var corner:Sprite = new Sprite();
    corner.graphics.beginFill(0x0, 1.0);
    corner.graphics.drawRect(0, 0, 20, 20);

    corner.graphics.lineStyle(0, 0x00FF00, 1.0);    
    corner.graphics.moveTo(1, 13);
    corner.graphics.lineTo(13, 1);
    corner.graphics.moveTo(6, 13);
    corner.graphics.lineTo(13, 6);
    corner.graphics.moveTo(11, 13);
    corner.graphics.lineTo(13, 11);

    corner.graphics.lineStyle(0, 0xFF00FF, 1.0);    
    corner.graphics.moveTo(0, 13);
    corner.graphics.lineTo(13, 0);
    corner.graphics.moveTo(5, 13);
    corner.graphics.lineTo(13, 5);
    corner.graphics.moveTo(10, 13);
    corner.graphics.lineTo(13, 10);

    corner.graphics.endFill();

    addChild(corner);
    }

2 个答案:

答案 0 :(得分:2)

虽然我不完全确定为什么会发生这种情况,但由于您放置了corner.graphics.endFill();

正在发生

在drawRect之后立即放置endFill调用并解决问题。

答案 1 :(得分:2)

你也可以把

corner.graphics.moveTo(0, 13);
更改lineStyle之前