在简单的 GUIText 上显示玩家坐标

Display Player Coordinates on Simple GUIText

这里是新手 - 当然。我正在使用 Unity 5,并希望在屏幕上显示使用 FPS 相机的玩家的坐标。主要原因是我正在使用相机路径动画师在我为 class 构建的地形场景中飞行,并且认为通过在 FP 中四处走动来记录坐标将使我的相机路径 waypoints 放置很多更简单。

我做了什么:

-创建新的空游戏对象-添加组件-> 渲染-> 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 文件中......哈哈哈谢谢大家!

我不确定这是你想要的....

  1. 创建新的游戏对象 (GUIText) 并使其成为您的玩家游戏对象的父对象。现在 GUIText 游戏对象将自动跟随您的玩家对象

  2. 添加新脚本(即 PlayerPositionLogger.cs)。到 GUIText 游戏对象。

  3. 在 PlayerPositionLogger.cs 上的 void Start() 上找到播放器脚本或在编辑器上声明 public Player player; 和 link 播放器对象。

  4. 用播放器对象更新 GUIText 的内容。

gist.github.com/growingdever/39b758d5f3967c143744

  1. Select玩家对象
  2. 添加组件 > 新建脚本
  3. 将以下代码添加到脚本中(替换 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 布局。