Понедельник, 07 Октября 2024, 12:15

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите решить проблему с генерацией мира
susa67Дата: Воскресенье, 18 Февраля 2018, 12:57 | Сообщение # 1
уже был
Сейчас нет на сайте
Есть вот такой код
Код
for (int i = 0; i <15 ; i++)
            {
        link1:
            coin_flip = Random.Range(0, 100); // Задается вектор направления построения следующей точки.
            if (coin_flip > 0 && coin_flip < 25) // Проверяем куда пойдет построение. В данном случаее по оси Х в положительном направлении.
                {
                next_pos_x = start_pos_x; // Стартовые позиции заданы случайно.
                next_pos_x++;
                next_pos_y = start_pos_y;
                if (
                   next_pos_x > 6 || next_pos_y > 6 || next_pos_x < 0 || next_pos_y < 0|| // Проверяем на выход из массива размер которого 7х7
                   brick[next_pos_x, next_pos_y + 1].activeInHierarchy == true || // Проверка на существование соседних клеток. Тут и выдает ошибку.
                   brick[next_pos_x, next_pos_y - 1].activeInHierarchy == true ||
                   brick[next_pos_x, next_pos_y].activeInHierarchy == true // Проверка на существование той клетки которую хотим построить.
                   )
                    {
                    start_pos_x = new_start_x;
                    start_pos_y = new_start_y;
                    goto link1;
                    }
                else
                    {                    
                    brick[next_pos_x, next_pos_y].SetActive(true); // Если все прошло успешно то включаем следующую клетку.
                    start_pos_x = next_pos_x; // Делаем новую точку как стартовую.
                    }

Тут происходит построение точек в массиве 7х7 от рандомной стартовой позиции

Проблем несколько:
1) Как избавиться от ошибок что выдает сам Unity?
2) Как сделать так что бы строилось столько клеток сколько указанно?
3) И может вообще это можно сделать как то по другому?
defGMDefeloperДата: Воскресенье, 18 Февраля 2018, 14:41 | Сообщение # 2
частый гость
Сейчас нет на сайте
next_pos_y + 1 и next_pos_y - 1
Очевидно кубиков у вас 15,судя по циклу,а обращаетесь вы к 15 элементу массива и -1,которых нету.
Если карта 3D (на подобии майнкрафта)покопайте в сторону меша.
Создаете точки.Рисуете триугольники на видимых гранях получившегося многоугольника.
Да,скажут - для новичка трудно.Но по своему опыту скажу,лучше потратить неделю чтоб разобраться в сложном,чем потом переделывать костыли


Сообщение отредактировал defGMDefeloper - Воскресенье, 18 Февраля 2018, 15:23
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг