0

这里的新手 - 当然。我正在使用 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 文件中的方法......哈哈哈谢谢大家!

我附有脚本的地方

4

2 回答 2

1

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

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

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

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

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

gist.github.com/growthdever/39b758d5f3967c143744

于 2015-04-20T16:15:14.317 回答
0
  1. 选择播放器对象
  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 布局。

于 2015-04-20T16:27:40.023 回答