代码之家  ›  专栏  ›  技术社区  ›  Chunky Chunk

动作脚本对齐图形线条样式笔画?

  •  1
  • Chunky Chunk  · 技术社区  · 14 年前

    是否可以将图形的笔画与ActionScript对齐?例如,下面的代码创建了一个黑色的圆形矩形,灰色笔画自动居中对齐。

    var t:Sprite = new Sprite();
    t.graphics.lineStyle(5, 0x555555);
    t.graphics.beginFill(0, 1);
    t.graphics.drawRoundRect(25, 25, 200, 75, 25, 25);
    t.graphics.endFill();
    

    LineStyle函数似乎没有为对齐笔画提供任何内置功能。在AdobeIllustrator中,您可以将笔画对齐到中间(半进半出填充)、内部(在填充内边界)或外部。(在填料外部边界)。

    1 回复  |  直到 14 年前
        1
  •  4
  •   timrwood    14 年前

    这在闪存(甚至在GUI中)中不受支持。您必须修改drawRoundRect参数以模拟此效果。

    var strokeWidth:Number = 5;
    var strokeAlign:String = 'outer';
    var t:Sprite = new Sprite();
    t.graphics.lineStyle(strokeWidth, 0x555555);
    t.graphics.beginFill(0, 1);
    if (strokeAlign == 'outer') {
        t.graphics.drawRoundRect(25 - strokeWidth / 2, 25 - strokeWidth / 2, 200 + strokeWidth, 75 + strokeWidth, 25 + strokeWidth / 2, 25 + strokeWidth / 2);
    } else if (strokeAlign == 'inner') {
        t.graphics.drawRoundRect(25 + strokeWidth / 2, 25 + strokeWidth / 2, 200 - strokeWidth, 75 - strokeWidth, 25 - strokeWidth / 2, 25 - strokeWidth / 2);
    } else {
        t.graphics.drawRoundRect(25, 25, 200, 75, 25, 25);
    }
    t.graphics.endFill();