@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;

    }
}


Когда запускаю тест, то объект пропадает с экрана и метается с нижнего левого угла экрана и до верхнего правого (Или наоборот)
  • Вопрос задан
  • 363 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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