因此,我正在Unity 3D中使用UnityScript嘗試使用細胞自動機制作洞穴生成器。這是我的問題,我創建了兩個變量,寬度和高度,他們需要是我的二維數組的大小。我也創建了一個函數來啓動時生成映射,所以數組需要在啓動時初始化。我知道我需要某種for
循環使用.length
和變量之一,但我不完全知道如何做到這一點。任何幫助將是偉大的!在UnityScript中製作2D數組通過製作數組陣列
回答
如果都在你的二維數組行的長度相同,你也不需要編寫一個循環,只需選中的任意行的長度,即
var arr = [
[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
];
var height = arr.length; //4
var width = arr[0].length; //3
一個例子,你將需要遍歷是如果所有的寬度是不同長度的,即
var arr = [
[1, 2, 3],
[1, 2, 3, 4]
];
var widths = [];
for (var i = 0; i < arr.length; i++) {
widths.push(arr[i].length);
}
console.log(widths); // [3, 4]
這裏是你如何生成給定的高度和寬度的二維數組
數組的長度和寬度由變量決定,所以我不認爲我可以在不使用循環的情況下實例化這個數組。例如,我的數組的長度可以是10-100之間的任意值,具體取決於生成的結果,因此變量需要是數組的長度。之後,我需要使第一個數組中的每個值都有一個數組,其大小等於第二個變量。直到我運行代碼之後,纔會知道長度和高度。這就是爲什麼我認爲我需要使用循環創建數組。感謝您花時間看! –
我編輯我的問題,我認爲回答你的問題。如果仍然無法幫助,請發佈您的代碼樣本。 –
感謝您的幫助羅伯特! –
嗯,團結你只初始化它們是這樣的:
int gridSpace[,];
public int height;
public int width;
void Start()
{
gridSpace = new int[height,width];
MakeMapStuffHappen();
}
這將讓你在編輯器中指定的高度和寬度(或程序)
- 1. 使用2D數組製作分形圖?
- 2. 如何在LC3中製作2D陣列
- 3. 2d對象數組陣列
- 4. 數組和複製陣列
- 5. Ruby複製數組陣列
- 6. 如何製作numpy數組的矩陣?
- 7. PHP製作數組
- 8. 從PHP數組中製作HTML列表?
- 9. 添加2d數組以在python中製作3d
- 10. 訪問一維數組作爲2D陣列中的C++
- 11. 從數組陣列中製作一個字符串
- 12. 傳遞陣列數組到控制器不工作在asp.net mvc
- 13. 創建嵌套數組(2D)通過合併陣列
- 14. 通過陣列中的數組迭代
- 15. 數組和類unityscript
- 16. 2d數組在glUniformMatrix4fv,C++中工作嗎?
- 17. Javascript創建2d數組與ID作爲陣列鍵
- 18. PHP創建表1個陣列通過數組索引操作
- 19. 在python中製作二維數組
- 20. 在php中製作json對象數組
- 21. 製作數組在Django中的字段
- 22. 在php中如何製作數組?
- 23. 用PHP製作Javascript數組
- 24. 製作數組副本
- 25. 從AdapterView製作數組
- 26. 製作數組元素null
- 27. 如何製作NSStrings數組?
- 28. C++指針製作數組
- 29. 製作對象數組
- 30. 製作關聯數組
發佈您的代碼,我們會幫助 –
我我們發現使用一維數組並且以二維方式解決這個問題通常更容易(在JS中,計算座標)。 – ssube
將JavaScript的引用更改爲UnityScript,因爲這是技術上的原因。 http://wiki.unity3d.com/index.php/UnityScript_versus_JavaScript – user3071284