显示播放器在简单GUIText上的坐标

时间:2015-04-20 16:05:33

标签: unity3d unity3d-gui

新手在这里 - 当然。我正在使用Unity 5,我希望在屏幕上显示使用FPS相机的播放器坐标。主要原因是我使用相机路径动画师围绕我为课堂建造的地形场景飞行,并且通过在FP中走动记录坐标来考虑将使我的相机路径路点更容易。

我做了什么:

- 处理新的空游戏对象 - 已添加组件 - >渲染 - > GUIText -Added Component - >新脚本 - > 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文件中的方法...哈哈哈谢谢你们!

Where I have script attached

2 个答案:

答案 0 :(得分:1)

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

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

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

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

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

  5. gist.github.com/growingdever/39b758d5f3967c143744

答案 1 :(得分:0)

  1. 选择播放器对象
  2. 添加组件>新脚本
  3. 将以下代码添加到脚本中(替换“开始”和“更新”)

    void OnGUI() {
        GUI.Box (Rect (10,10,100,90), "Player position: X:" + transform.position.x + 
        " Y: " + transform.position.y + " Z: " + transform.position.z);
    }
    
  4. 当你进入playmode时,它应该做你想要的。你的主要问题是GUI布局。