Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 如何使用Agal在第3d阶段的位图上绘制线条?_Actionscript_Stage3d_Agal - Fatal编程技术网

Actionscript 如何使用Agal在第3d阶段的位图上绘制线条?

Actionscript 如何使用Agal在第3d阶段的位图上绘制线条?,actionscript,stage3d,agal,Actionscript,Stage3d,Agal,如何使用Agal在第3d阶段的位图上绘制线条?有人能提供一个代码示例吗?如果您使用Starling,您可以尝试以下方法: /** * Class Line * @author Leandro Barreto 2012 * @version 1.0 **/ package starling.utils { import starling.display.Quad; import starling.display.Sprite; public class Line

如何使用Agal在第3d阶段的位图上绘制线条?有人能提供一个代码示例吗?

如果您使用Starling,您可以尝试以下方法:

/**
 * Class Line
 * @author Leandro Barreto 2012
 * @version 1.0
 **/

package starling.utils
{
    import starling.display.Quad;
    import starling.display.Sprite;

    public class Line extends Sprite
    {
        private var baseQuad:Quad;
        private var _thickness:Number = 1;
        private var _color:uint = 0x000000;

        public function Line()
        {
            baseQuad = new Quad(1, _thickness, _color);
            addChild(baseQuad);
        }

        public function lineTo(toX:int, toY:int):void
        {
            baseQuad.width = Math.round(Math.sqrt((toX*toX)+(toY*toY)));
            baseQuad.rotation = Math.atan2(toY, toX);
        }

        public function set thickness(t:Number):void
        {
            var currentRotation:Number = baseQuad.rotation;
            baseQuad.rotation = 0;
            baseQuad.height = _thickness = t;
            baseQuad.rotation = currentRotation;
        }

        public function get thickness():Number
        {
            return _thickness;
        }

        public function set color(c:uint):void
        {
            baseQuad.color = _color = c;
        }

        public function get color():uint
        {
            return _color;
        }
    }
}
有人在Starling论坛上建议我们创建一个Line类,该类绘制几个连接两点的四边形。本教程演示如何使用AGAL为着色器创建多边形:


我最近编写了一个简单的库,用于在Stage3D上绘制线条。
它叫Zebroid

Zebroid还不支持线帽或接头