我正在 Unity 中制作一种自上而下的射击游戏。玩家可以在世界中移动,但摄像机会随着他移动,所以玩家总是在屏幕中间。
我试图在屏幕的左上角显示一些文本,因此我将一个 GUItext 组件附加到主摄像头。结果非常有趣——玩家将文本从屏幕上移开的那一刻。
文本应该显示的内容由播放器控制,因此我在播放器脚本中添加了以下代码片段:
public GUIText scoreText;
void Update ()
{
scoreText.pixelOffset = new Vector2 (300, 300);
}
void UpdateScore ()
{
scoreText.text = "Lives: " + lives;
}
但这并没有改变任何东西,void UpdateScore ()
也没有工作。
我对 Unity 很陌生,所以这可能是一个非常简单的错误……但是我在做什么大错特错?
编辑:void UpdateScore ()
现在我从void FixedUpdate ()
.
编辑(再次):我通过制作一个新的空对象解决了这个问题,除了变换(它永远不会移动)和一个 GUI 文本组件之外,它什么都没有。我现在遇到的问题是 GUI 文本上的锚点工作非常奇怪 - 只有当我把它放在左下角时它才有效(而我希望它在左上角)。尝试更改锚点会将其移出屏幕的某个位置。这是我的层次结构: