【发布时间】:2016-01-30 23:19:37
【问题描述】:
我正在 Unity 中制作一款自上而下的射击游戏。玩家可以在世界中移动,但摄像机会随着他移动,所以玩家总是在屏幕中间。
我试图在屏幕的左上角显示一些文本,因此我将一个 GUItext 组件附加到主摄像头。结果非常有趣——玩家将文本从屏幕上移开的那一刻。
文本应该显示的内容由播放器控制,因此我在播放器脚本中添加了以下 sn-ps 代码:
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 文本上的锚点的工作方式非常奇怪——它只有在我把它放在左下角时才有效(而我希望它在左上角)。尝试更改锚点会将其移出屏幕的某个位置。这是我的层次结构:
【问题讨论】:
-
你的层次结构是什么样的?