Timujin61 | Дата: Воскресенье, 18 Ноября 2012, 11:34 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Люди, нужна помощь с переводом js на c# Code private var _field: GameObject[,,]; // наш ландшафт (является трехмерным массивом) private var _height: int[,]; // высота данного места ландшафта private var _maxSize: int = 32; // максимальная ширина ландшафта private var _maxH: int = 64; // максимальная высота ландшафта private var _maxR: int = 16; // максимальный радиус сферы private var _spheresCount: int = 16; // количество сфер var _prefabCube: GameObject; // префаб куба
function Start () { // Инициализация массивов _field = new GameObject[_maxSize, _maxH, _maxSize]; _height = new int[_maxSize, _maxSize];
// Создание поля (высота равна 0)
var i: int; var j: int; for (i = 0; i<_maxSize; i++) { for (j = 0; j<_maxSize; j++) { _height[i,j] = 0;
var _pos: Vector3 = Vector3(i-_maxSize/2, _height[i,j], j-_maxSize/2); _field[i,0,j] = Instantiate(_prefabCube, _pos, Quaternion.identity); _field[i,0,j].transform.parent = transform; _field[i,0,j].transform.name = “cube”; } }
// Изменение ландшафта по изученному алгоритму
for (i = 0; i<_spheresCount; i++) { _pos = Vector3(Random.Range(0, _maxSize), 0, Random.Range(0, _maxSize)); var _r: int = Random.Range(1, _maxR);
for (var _x: int = _pos.x-_r; _x<_pos.x+_r; _x++) { for (var _z: int = _pos.z-_r; _z<_pos.z+_r; _z++) { var _inc: int = Mathf.Pow(_r, 2)-(Mathf.Pow(_x-_pos.x, 2)+Mathf.Pow(_z-_pos.z, 2)); if (_inc > 0 && _x>=0 && _z>=0 && _x<_maxSize && _z<_maxSize) { _inc = Mathf.Round(Mathf.Sqrt(_inc)); _height[_x,_z] = _height[_x,_z]+_inc; _field[_x,0,_z].transform.position.y = _height[_x,_z]; } } } }
// Нормализация (я не использовал)
// Заполнение промежутков между соседними платформами for (i = 1; i<_maxSize-1; i++) { for (j = 1; j<_maxSize-1; j++) { var _minH: int = _height[i,j]; _minH = Mathf.Min(_minH, _height[i-1, j-1]); _minH = Mathf.Min(_minH, _height[i, j-1]); _minH = Mathf.Min(_minH, _height[i+1, j-1]); _minH = Mathf.Min(_minH, _height[i-1, j]); _minH = Mathf.Min(_minH, _height[i+1, j]); _minH = Mathf.Min(_minH, _height[i-1, j+1]); _minH = Mathf.Min(_minH, _height[i, j+1]); _minH = Mathf.Min(_minH, _height[i+1, j+1]); for (_z = 1; _z <= _height[i,j]-_minH; _z++) { _pos = Vector3(i-_maxSize/2, _height[i,j]-_z, j-_maxSize/2); _field[i,_z,j] = Instantiate(_prefabCube, _pos, Quaternion.identity); _field[i,_z,j].transform.parent = transform; _field[i,_z,j].transform.name = “cube”; } } } }
Разрабатываю зов крови:з
|
|
| |
romgerman | Дата: Воскресенье, 18 Ноября 2012, 11:35 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| А сайт js to c# уже не катит?
|
|
| |
Timujin61 | Дата: Вторник, 20 Ноября 2012, 15:25 | Сообщение # 3 |
участник
Сейчас нет на сайте
| romgerman, просто там мне переводят с ошибками
Разрабатываю зов крови:з
|
|
| |
wawa13 | Дата: Вторник, 20 Ноября 2012, 16:19 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| тут кода то совсем х..ня. покури манов по js (учитывая код, совсем немного) и сам переведешь и подгонишь как тебе надо. Надеюсь C# ты знаешь, иначе ... уйди.
|
|
| |