Страница 1 из 1

Привязка GUI элемента к границам экрана(РЕШЕНО)

СообщениеДобавлено: 02 авг 2018, 22:40
Gidly
Собственно вопрос такой: У меня имеется миникарта, которая является GUI элементом, как её привязать к границам экран-адаптировать под разные разрешения. Вот скрипт, кому интересно:
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MiniMapGUI : MonoBehaviour {

        public RenderTexture MiniMapTexture;
        public Texture2D MiniMapHope;
        public Material MiniMapMat;
        float offset = 10;

        public GameObject _cc;
        float CamSize = 45f;
        void Update ()
        {
                Vector3 pos = _cc.transform.position;
                gameObject.transform.position = new Vector3 (pos.x, 40f, pos.z);
                gameObject.GetComponent<Camera> ().orthographicSize = CamSize;
        }
        void OnGUI ()
        {
                if (Event.current.type == EventType.Repaint)
                {
                        Graphics.DrawTexture(new Rect(Screen.width - 1560 - offset, offset, 256, 256), MiniMapTexture, MiniMapMat);
                        Graphics.DrawTexture (new Rect (Screen.width - 1560 - offset * 2, 0, 256 + offset * 2, 256 + offset * 2), MiniMapHope);
                }
        }
}
 

_сс это игрок если что
Я решил этот вопрос путём удаления лишних строк и умножения Screen.width на 0.0025
Вот часть кода:
Синтаксис:
Используется csharp
Graphics.DrawTexture(new Rect(Screen.width * 0.0025f, Screen.height - 260, 256, 256), MiniMapTexture, MiniMapMat);
            Graphics.DrawTexture(new Rect(Screen.width * 0.0025f, Screen.height - 260, 256, 256), MiniMapHope);

Может кому поможет

Re: Привязка GUI элемента к границам экрана

СообщениеДобавлено: 03 авг 2018, 01:19
Shock
Простите, а какая у вас версия Юнити?

Re: Привязка GUI элемента к границам экрана

СообщениеДобавлено: 03 авг 2018, 09:33
Gidly
Shock писал(а):Простите, а какая у вас версия Юнити?

2018.1.0

Re: Привязка GUI элемента к границам экрана

СообщениеДобавлено: 03 авг 2018, 18:57
Fessar
UI элементы нужно привязывать с помощью якорей в редакторе. Вот в видео показано - https://www.youtube.com/watch?v=OK6ZXNC9vVQ

Re: Привязка GUI элемента к границам экрана

СообщениеДобавлено: 03 авг 2018, 20:41
Gidly
Fessar писал(а):UI элементы нужно привязывать с помощью якорей в редакторе. Вот в видео показано - https://www.youtube.com/watch?v=OK6ZXNC9vVQ

Не UI, а GUI. GUI это типа UI, но в скрипте задаётся

Re: Привязка GUI элемента к границам экрана

СообщениеДобавлено: 03 авг 2018, 21:50
Shock
Почему бы не перейти на новую UI? Пускай маленькими шажками, начиная с этой фичи. Оно работает быстрее и легче настраивается и в 2018 уже депрекейтед.

Re: Привязка GUI элемента к границам экрана

СообщениеДобавлено: 03 авг 2018, 22:21
Gidly
Shock писал(а):Почему бы не перейти на новую UI? Пускай маленькими шажками, начиная с этой фичи. Оно работает быстрее и легче настраивается и в 2018 уже депрекейтед.

Я использую новый UI, даже часто, но конкретно в данном случае это невозможно. Кстати, я решил эту проблему уже сам

Re: Привязка GUI элемента к границам экрана(РЕШЕНО)

СообщениеДобавлено: 03 авг 2018, 22:29
Shock
Вы ведь знаете о RawImage в новом Гуи, который позволяет отображать текстуру?