для HEX головоломки, объекты появляются друг на друге - PullRequest
0 голосов
/ 30 марта 2019

Я занимаюсь HEX головоломкой. Но проблема в том, что объекты, которые появляются, перекрываются, потому что я случайный, и я хочу удалить объекты, которые перекрываются, и отсортировать их, как на картинке, но я не смогЯ использую игровой движок Unity. Вы можете помочь в этом отношении?

void Update()
{
        StartCoroutine(Create());

}



IEnumerator Create()
{
    yield return new WaitForSeconds(start_standby);
    while (true)
    {

        for (int i = 0; i < 10; i++)
        {
            if (randHexagon <= 5)
            {
                Vector3 vec = new Vector3(Random.Range(-randomPos.x, randomPos.x), Random.Range(-randomPos.y, randomPos.y), 0);
                Instantiate(spawnObject[randHexagon], vec, Quaternion.identity);

            }


                yield return new WaitForSeconds(create_wait);


        }

        yield return new WaitForSeconds(loop_wait);
        if (finishGame)
        {
            returnStart = true;
            break;
        }

    }
}

}

В результате получается, что шестиугольник, состоящий из последовательных и случайных цветов, долженпроисходить на экране, но шестиугольник, который образуется, входит в ряд и не идет по прямой линии.

1 Ответ

1 голос
/ 01 апреля 2019

Начните с размещения вызова Coroutine в методе, который вызывается один раз, как в «Start», если вы не хотите запускать эту сопрограмму каждый кадр.

Если вы хотите поместить шестиугольники в сеткуОснованная на игре игра, лучшая идея будет использовать структуру данных для хранения шестиугольников и продолжать их порождение, как вы делаете это в массиве один за другим, это предотвратит перекрытие

Если вы хотите порождать гексагоны случайным образом, вы можетелегко остановить перекрытие, используя методы Physics.Overlap, которые в основном проверяют, есть ли что-то перекрывающееся, и с этим вы можете идти дальше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...