我遇到了一個奇怪的問題。我正在嘗試生成一個元素值爲1或0(隨機填充)的矩陣。我將這些值存儲到二維數組中。這是第一幀的代碼。一切似乎都工作正常。AS3中2d陣列的問題
var multiArr:Array = new Array([2], [2]);
function generateMatrixXML() {
for(var i:uint = 0; i < 2; i++)
{
for(var j:uint = 0; j < 2; j++)
{
multiArr[i][j] = getRandomNumber(0,1);;
}
}
trace(multiArr);
}
function getRandomNumber(lower,upper):Number {
return Math.floor(Math.random()*(1+upper-lower))+lower;
}
generateMatrixXML();
當我將行和列的值更改爲3時出現錯誤。
var multiArr:Array = new Array([3], [3]);
function generateMatrixXML() {
for(var i:uint = 0; i < 3; i++)
{
for(var j:uint = 0; j < 3; j++)
{
multiArr[i][j] = getRandomNumber(0,1);;
}
}
trace(multiArr);
}
function getRandomNumber(lower,upper):Number {
return Math.floor(Math.random()*(1+upper-lower))+lower;
}
generateMatrixXML();
TypeError:錯誤#1010:術語未定義且沒有屬性。 在matrixArray_fla :: MainTimeline/generateMatrixXML() 在matrixArray_fla :: MainTimeline /幀1()
有任何想法,以什麼是錯誤的原因
你說的沒錯,但爲什麼不是第一例失敗? – duedl0r
,因爲在第一種情況下,他只迭代兩次。第一行在_both_個案中定義了一個2x2矩陣。 – shanethehat
爲什麼是2x2?定義的數組中只有1個元素? – duedl0r