Задать вопрос
@alexandribragimoviz

Запретить объекту выходить за границы экрана unity?

Здравствуйте.

Подскажите пожалуйста как запретить объекту выходить за границы экрана. Необходимо ограничить движение при разрешении 1080 на 1920 (Портретное расположение экрана).

Буду очень благодарен всем, кто поможет.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ScreenLimite : MonoBehaviour
{
    private Vector2 screenBounds;
    // Start is called before the first frame update
    void Start()
    {
        screenBounds = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height, Camera.main.transform.position.z));
    }

    // Update is called once per frame
    void LateUpdate()
    {
        Vector3 viewPos = transform.position;
        viewPos.x = Mathf.Clamp(viewPos.x, screenBounds.x, screenBounds.x * -1);
        viewPos.y = Mathf.Clamp(viewPos.y, screenBounds.y, screenBounds.y * -1);
        transform.position = viewPos;

    }
}


Когда запускаю тест, то объект пропадает с экрана и метается с нижнего левого угла экрана и до верхнего правого (Или наоборот)
  • Вопрос задан
  • 406 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Merion Academy
    C# разработчик с нуля
    4 месяца
    Далее
  • Stepik
    Профессия "C# разработчик"
    1 неделя
    Далее
  • Skillfactory
    Профессия C#-разработчик
    12 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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