使用while循环时出现错误#1010:

while (pos.length>0)
{
    coo = pos.splice(Math.floor(Math.random() * pos.length),1)[0];

    (pos_array[index]).x = coo.x;
    (pos_array[index]).y = coo.y;
    index++;
}

错误提示:A term is undefined and has no properties.
我的循环出了什么问题,因为我对其他程序使用了相同的循环,但没有得到这样的错误。

感谢您的关注。

最佳答案

您的while循环正在中断。

pos.length永远不会改变,最终pos_array[index]将超出范围。

当您超出范围时,它是不确定的。
所以基本上你在做。

undefined.x = coo.x;

就像错误说undefined没有属性一样。

我看不到此循环如何工作。

试试这个更干净
var savedX:Number = 0
for each( var obj:Object in pos_array ){
  coo = new MovieClip()
  coo = pos.splice(Math.floor(Math.random() * pos.length),1)[0];
  obj.x = savedX;
  obj.y = 0;
  savedX += coo.width;
}

关于actionscript-3 - 错误1010 ActionScript 3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7928753/

10-17 02:26