Задать вопрос
@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 комментария
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • XYZ School
    Разработка игр на Unity
    5 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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