0

好了,所以這是我的代碼ActionScript 3的動態多維數組

var no:int = 0; 
     var elem:int = 0; 
     loadedData = myLoader.data.split(/\r\n|\n|\r/); 

     for (var i:int = 0; i < loadedData.length; i++) 
     { 
      if (loadedData[i] != '') 
      { 
       if (loadedData[i] != ',') 
       { 
        if(patterns[no] == undefined) patterns[no] = []; 
        trace(no); 
        trace(elem); 
        obstacleData[i] = loadedData[i].split(","); 
        trace(patterns[no]); 
        patterns[no][elem] = obstacleData[i][0]; 
        patterns[no][elem + 1] = obstacleData[i][1]; 
        elem += 2; 
        trace('Pattern' , no, ': ', patterns[no]); 
       } 
       else if (loadedData[i] == ',') 
       { 
        no += 1; 
        elem = 0; 
        patterns[no] = 0; 
       } 
      } 
     } 

的問題是在該線

patterns[no][elem] = obstacleData[i][0]; 

我發現了錯誤:[故障]例外,信息=的ReferenceError:錯誤#1056:無法在Number上創建屬性0。

我讀過這個和多維數組在AS3上看起來比其他語言複雜得多,你只需創建一個多維數組並且它可以工作。

我覺得我已經做了一些非常明顯的錯誤,會覺得自己像一個白癡一個人告訴我,但我真的需要幫助,因爲我是新的AS3創建多維數組的方式。

萬一輸出的代碼在運行時是這樣:

0 
0 

Pattern 0 : 300,60 
0 
2 
300,60 
Pattern 0 : 300,60,350,90 
1 
0 
0 <--- This might be the problem? 
[Fault] exception, information=ReferenceError: Error #1056: Cannot create property 0 on  Number. 

回答

0

也許錯誤是由行

patterns[no] = 0; 

我想你想分配一個空數組或引起可能爲null,稍後再檢查null。

+0

這就是問題所在,我就像我以爲我一樣白癡!非常感謝,我很感激! – therealkf