2013-02-14 50 views
0

当我使用拼接功能时,它插入点但是复制数组的最后一个元素的副本。拼接功能在阵列中增加了额外的元素

for(indexpoint=0;indexpoint<intpoints.length;indexpoint++) 

    { 


      temp.points[indexpoint].x = intpoints[indexpoint].x+this.x; 

      temp.points[indexpoint].y = intpoints[indexpoint].y+this.y; 


    } 

    const point:Point = new Point(); 
    point.x = (intpoints[2].x+intpoints[3].x)/2+this.x; 
    point.y = (intpoints[2].y+intpoints[3].y)/2+this.y; 

    temp.points.splice(3,0, point); 

回答

1

这应该不会发生。

我尝试这样做:

var a:Array = new Array(new Point(0,0), new Point(0, 1), new Point(0, 2)); 
var p:Point = new Point(0, 3); 
a.splice(3, 0, p); 
trace(a); 

此正确地跟踪:(X = 0,Y = 0),(X = 0,Y = 1),(X = 0,Y = 2),( x = 0,y = 3)

您可以尝试在拼接调用之前跟踪temp.points数组吗?