Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.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
如何在flash as3中获取使用lineTo绘制的直线的终点_Flash_Actionscript 3_Graphics - Fatal编程技术网

如何在flash as3中获取使用lineTo绘制的直线的终点

如何在flash as3中获取使用lineTo绘制的直线的终点,flash,actionscript-3,graphics,Flash,Actionscript 3,Graphics,我使用flash的graphics.lineTo命令绘制了一系列线,并将它们放置在一个数组中以供以后参考。基于某些用户交互,可以将包含这些线的剪辑向右移动,从而使线随之移动,不再连接到它们最初连接的点。因此,我需要根据父剪辑的偏移量(我称之为incVal)来扩展这些线。所以我需要做的是找到每一条线的终点,从这一点向左画incVal。我怎样才能得到这条线的终点 这是我的代码: 要绘制直线并将其添加到剪辑和阵列以供将来参考,请执行以下操作: line.graphics.lineTo(localPoi

我使用flash的graphics.lineTo命令绘制了一系列线,并将它们放置在一个数组中以供以后参考。基于某些用户交互,可以将包含这些线的剪辑向右移动,从而使线随之移动,不再连接到它们最初连接的点。因此,我需要根据父剪辑的偏移量(我称之为incVal)来扩展这些线。所以我需要做的是找到每一条线的终点,从这一点向左画incVal。我怎样才能得到这条线的终点

这是我的代码:

要绘制直线并将其添加到剪辑和阵列以供将来参考,请执行以下操作:

line.graphics.lineTo(localPoint.x,localPoint.y-10);
membersRef.addChild(line);
parallelArr.push(line);
要稍后通过循环数组引用该行,请执行以下操作:

function extendParallels(incVal):void {
    for (var i=0;i<parallelArr.length;i++){
        trace (parallelArr[i]);
//need to extend line with code here.
    }
}
函数扩展并行(incVal):无效{

对于(var i=0;i),您不能以简单的方式从精灵中获取图形端点。您应该考虑将端点保存在变量中。

var p:Point = new Point(localPoint.x, localPoint.y-10); // flash.geom.Point

和<代码>平行ARS/<代码>中,您可以保存一个对象,该对象包含一个指向该点的对象,并在其中显示行的DISPLAY对象。

您不能以简单的方式从精灵中获取图形端点。您应该考虑将端点保存在变量中。

var p:Point = new Point(localPoint.x, localPoint.y-10); // flash.geom.Point

parallelArr
中,您可以保存一个对象,该对象包含对该点和绘制线条的显示对象的引用。

稍微更改您的逻辑,您就可以进行设置。在parallelArr数组中存储一个点,供以后参考

有点像:

            //during dynaminc population
            addLine(localPoint.x, localPoint.y);

            private function addLine(pX:int, pY:int):void
            {
                var nPoint:Point = new Point(pX, pY);
                line.graphics.lineTo(nPoint.x, nPoint.y-10);
                membersRef.addChild(line);
                parallelArr.push(nPoint);
            }

这使您可以访问创建线条的状态,并避免尝试从线条本身收集线条。如果对线条应用了任何过滤器,这将特别复杂,因为flash会立即将其渲染为位图…

稍微更改逻辑,您将被设置。在平行线阵列中存储一个点,以供参考等会儿

有点像:

            //during dynaminc population
            addLine(localPoint.x, localPoint.y);

            private function addLine(pX:int, pY:int):void
            {
                var nPoint:Point = new Point(pX, pY);
                line.graphics.lineTo(nPoint.x, nPoint.y-10);
                membersRef.addChild(line);
                parallelArr.push(nPoint);
            }

这使您可以访问创建该行的状态,并避免尝试从该行本身收集数据。如果对该行应用了任何筛选器,这将特别复杂,因为flash会立即将其渲染为位图…

这是一个很好的选择。我正试图尽量减少需要收集的存储数据量,但我认为这是o唯一的方法。打得好。我试图尽量减少需要收集的存储数据量,但我认为这是唯一的方法。