Отображать координаты игрока на простом GUIText
Новичок здесь - конечно. Я использую Unity 5 и хочу отобразить на экране координаты игрока с помощью камеры FPS. Основная причина в том, что я использую аниматор траектории камеры, чтобы летать вокруг сцены местности, которую я построил для класса, и думаю, что регистрация координат путем обхода в FP сделает размещение путевых точек траектории моей камеры намного проще.
Что я сделал:
-Создан новый пустой игровой объект -Добавлен компонент -> Рендеринг -> GUIText -Добавлен компонент -> Новый скрипт ->C#
Теперь я, конечно, искал решение и нашел это:
function OnGUI () {
GUI.Label (Rect (10,120,500,100), "X = " + transform.position.x + " Y= " + transform.position.y + "Z= " + transform.position.z);
}
Что здорово! Но я ни в коем случае не сильный программист на C#, но я знаю, что для этого еще нужна переменная Player. Поэтому, пожалуйста, кто-нибудь может просто направить меня или написать код, необходимый для отображения координат игрока на экране. Это не должно быть красиво или что-то в этом роде, мне просто нужно записать данные, пока я хожу по FP. (если только вы не хотите получить домовые и не знаете, как записать координаты в файл.txt при нажатии кнопки... хахаха, спасибо, ребята!
2 ответа
Я не уверен, что это то, что вы хотите....
Создайте новый GameObject (GUIText) и сделайте его родительским для вашего игрового объекта игрока. Теперь игровой объект GUIText будет автоматически следовать за вашим объектом игрока
Добавить новый скрипт (т.е. PlayerPositionLogger.cs). GUIText игровой объект.
Найти скрипт игрока на
void Start()
на PlayerPositionLogger.cs или объявитьpublic Player player;
и связать объект игрока в редакторе.Обновите содержимое GUIText с помощью объекта player.
- Выберите объект игрока
- Добавить компонент> Новый скрипт
Добавьте следующий код в скрипт (замените Start и Update)
void OnGUI() { GUI.Box (Rect (10,10,100,90), "Player position: X:" + transform.position.x + " Y: " + transform.position.y + " Z: " + transform.position.z); }
Когда вы входите в режим воспроизведения, он должен делать то, что вы хотите. Ваша главная проблема была в макете GUI.