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