Задать вопрос
Avikiy
@Avikiy
Человек

Как сделать, чтобы камера не выходила за границу?

Игра простая, с видом сверху.
Камера свободная, управляется WASD, персонажа нет.

private float movementSpeed = 2f;
void Update()
{
    float horizontalInput = Input.GetAxis("Horizontal");
    float verticalInput = Input.GetAxis("Vertical");
    transform.position = transform.position - new Vector3(horizontalInput * movementSpeed * Time.deltaTime, 0, verticalInput * 
    movementSpeed * Time.deltaTime);
}
  • Вопрос задан
  • 48 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Avikiy
@Avikiy Автор вопроса
Человек
Но тут для 2Д
private void Update()
{
float limit_X_min = -1000f; //Лимит
float limit_X_max = 1000f; //Лимит
float camera_X = privezat_k.transform.position.x;
if (camera_X < limit_X_min) camera_X = limit_X_min;
if (camera_X > limit_X_max) camera_X = limit_X_max;
transform.position = new Vector3(camera_X, 0f, -10f);
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos Куратор тега Unity
Написать код который будет проверять куда хочет переместиться персонаж и если туда нельзя перемещаться - не менять transform.position.
Вариантов такого кода - миллион и зависит от реализации карты и стенок в первую очередь.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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