我能夠做到這一點是這樣的:如何讓2D矢量在AS3
var levelVector = new Vector.<Vector.<int>>();
levelVector[0] = new Vector.<int>();
levelVector[1] = new Vector.<int>();
levelVector[2] = new Vector.<int>();
levelVector[0][0] = 0;
levelVector[0][1] = 0;
levelVector[0][2] = 5;
levelVector[0][3] = 0;
levelVector[0][4] = 0;
levelVector[0][5] = 0;
levelVector[1][0] = 0;
levelVector[1][1] = 0;
levelVector[1][2] = 5;
levelVector[1][3] = 0;
levelVector[1][4] = 0;
levelVector[1][5] = 0;
levelVector[2][0] = 0;
levelVector[2][1] = 5;
levelVector[2][2] = 2;
levelVector[2][3] = 2;
levelVector[2][4] = 2;
levelVector[2][5] = 2;
但我寧願有這樣的事情:
levelVector = [[0,0,3,2,1],[1,1,2,2,2],[3,2,2,1,2]];
這將是更加有用像這樣:
levelVector = [
[0,0,3,2,1],
[1,1,2,2,2],
[3,2,2,1,2]
];
因爲現在它實際上讀取像2D數組或網格,這將是非常有用的。我想我可以像這樣做數組,所以有一種方法與矢量?爲每個具有自己的代碼行的大型二維向量填寫每個值都很難查看或理解或寫入。我錯過了什麼,或者這只是一個向量的短暫下降?
謝謝!
你對我使用的「(3)」是正確的。它沒有導致編譯錯誤(不知道爲什麼),但它沒有添加任何有用的。我只是在沒有測試的情況下進行測試,並且以任何方式工作,所以即使我使用嚴格模式和警告模式,Flash也必須忽略它。 –
另外,我不確定我在我的問題中說了什麼,這聽起來像我試圖將數組轉換爲向量。我只是想創建一個2D矢量。感謝您花時間在此。我會測試每一個。您的答案中的第二個代碼塊與@Vesper的建議相同。但這不起作用。正如我在我的回答中所說的,該向量似乎需要在一行代碼中創建,然後才能填充。 –
至於我爲什麼要做二維數組,因爲我不能遍歷每個子矢量以獲得其他地方的深度控制函數。 –