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

Текст над Объектом

СообщениеДобавлено: 24 апр 2017, 15:29
Willy_Wonder
Здравствуйте все еще раз!
хотелось бы узнать, какая есть возможность, чтобы текст выдавался не в одном и том же месте, а допустим, слева от объекта? или над ним?
в сцене много одинаковах объектов с разными позициями, но для всех *пока что* текст одинаковый. просто нужно чтобы этот текст именно видимо к объекту высвечивался, а не где-то далеко от него... Заранее спасибо за помощь!
(я нуб, каких свет не видовал, поэтому просьба не нервничать и не волноваться :D)

Re: Текст над Объектом

СообщениеДобавлено: 24 апр 2017, 16:02
Willy_Wonder
пока что вся моя красота выглядит вот так:



using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class ClickOnObject : MonoBehaviour
{

private bool showText = false;





void OnMouseDown()
{
if(!showText)
showText = true;

}

void OnGUI()
{

if(showText)
{

if(GUI.Button(new Rect(600,600,200,40), "Anlage in Ordnung")) //600,600,200,40 Position und Größe des Buttons

showText = false;
}
}
}



все отлично работает, ЕСЛИ БЫ эта кнопка не висела все время в одном месте. Мне нужно, чтобы она высвечивалась в зависимости от позиции моего объекта @-)

Re: Текст над Объектом

СообщениеДобавлено: 24 апр 2017, 16:14
Tolking
Ответьте, пожалуйста, на 2 вопроса:
1) Где указана позиция в которой выводится кнопка?
2) Как узнать экранные координаты объекта для конкретной камеры в юнити?

Re: Текст над Объектом

СообщениеДобавлено: 24 апр 2017, 16:21
Willy_Wonder
вот эти вот цифры в if(GUI.Button(new Rect(600,600,200,40), "Anlage in Ordnung")) дают позицию. 600 и 600, 200 ширина кнопки, 40 высота.
думаю, как бы разумно сочетать мой скрипт и вот этот: http://shgames.ru/index.php?title=GUI_% ... 0%BE%D0%BC. должно по идее получится то, что мне нужно :ymdevil:

Re: Текст над Объектом

СообщениеДобавлено: 24 апр 2017, 19:14
Anonymyx
Позиция объекта + (объект.верх + смещение).

Re: Текст над Объектом

СообщениеДобавлено: 25 апр 2017, 11:40
Willy_Wonder
сейчас код выглядит вот так:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class ClickOnAlarm : MonoBehaviour
{
private bool showText = false;

void OnMouseDown()
{
if (!showText)
showText = true;

}

void OnGUI()
{

if (showText)
{
var x = Event.current.mousePosition.x;
var y = Event.current.mousePosition.y;
if (GUI.Button(new Rect(x - 149, y + 40, 300, 60), "Anlage braucht dringend Wartung")) //600,600,200,40 Position und Größe des Buttons

showText = false;
}
}
}
проблема в том, что Button сейчас следует за мышью. подправьте, пожалуйста, код! ^:)^

Re: Текст над Объектом

СообщениеДобавлено: 26 апр 2017, 15:45
Willy_Wonder
проблему решена!