@Cetar

Есть 2D Ранер Вертикальный Надо чтобы стены уходили вниз и как только они уходят появляются новые с заготовленные уровни как это сделать?

Есть 2D Ранер Вертикальный Надо чтобы стены уходили вниз и как только они уходят появляются новые с заготовленные уровни как это сделать?
1 Cкрипт
public class DownMover : MonoBehaviour
{
public float speed;
private Spawner spawner;
private bool spawned;
private void Start()
{
spawner = FindObjectOfType();
speed = spawner.speed;
}


private void Update()
{
transform.Translate(Vector2.down * speed * Time.deltaTime);
speed += spawner.speedIncrease * Time.deltaTime;
if(transform.position.y < 0 && !spawned)
{

}
}
}
2Скрипт
public class Spawner : MonoBehaviour
{
public GameObject[] block;

public float speed;
public float speedIncrease;
void Start()
{

}


private void Update()
{
speed += speedIncrease * Time.deltaTime;
}
public void SpawnWave()
{

int rand = Random.Range(0, block.Length);
Instantiate(block[rand], transform.position, Quaternion.identity);
}
}
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
@NIKROTOS
Начинающий программист.
Как вариант, ниже камеры сделать триггер. Если в триггер попадают объекты, уничтожаются, а сверху создаются новые. Допустим все объекты кубические, тогда можно сделать процедурную генерацию на основе клеточных автоматов, задать такие правила, что-бы у игрока всегда был путь прохождения. Так-же для оптимизации, можно сделать пул блоков(максимальное их количество на экране) и не уничтожать/создавать, а активировать/дезактивировать. Это будет происходить быстрее. Движение блоков, желательно прописывать в FixUpdate и делать фиксированный сдвиг для всех объектов.
Триггер под камерой нужно делать с учётом этого сдвига, чтоб блоки не его перепрыгнули. Или рассчитывать по высоте экрана и скорости движения.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы