C# 在Unity中使用移动摄影机进行GUI文本对齐
我正在联合制作一款自上而下的射击游戏。玩家可以在世界上移动,但是相机和他一起移动,所以玩家总是在屏幕中间。 我试图在屏幕的左上角显示一些文本,所以我在主摄像头上附加了一个吉他文本组件。结果非常有趣——玩家将文本省道移出屏幕的那一刻 文本应该显示的内容由播放器控制,因此我在播放器脚本中添加了以下代码片段:C# 在Unity中使用移动摄影机进行GUI文本对齐,c#,unity5,guitext,C#,Unity5,Guitext,我正在联合制作一款自上而下的射击游戏。玩家可以在世界上移动,但是相机和他一起移动,所以玩家总是在屏幕中间。 我试图在屏幕的左上角显示一些文本,所以我在主摄像头上附加了一个吉他文本组件。结果非常有趣——玩家将文本省道移出屏幕的那一刻 文本应该显示的内容由播放器控制,因此我在播放器脚本中添加了以下代码片段: public GUIText scoreText; void Update () { scoreText.pixelOffset = new Vector2 (300,
public GUIText scoreText;
void Update ()
{
scoreText.pixelOffset = new Vector2 (300, 300);
}
void UpdateScore ()
{
scoreText.text = "Lives: " + lives;
}
但这并没有改变任何事情,voidupdatescore()
也不起作用
我对Unity比较陌生,所以这可能是一个非常简单的错误。。。但我做错了什么
编辑:voidupdatescore()
现在可以工作了,我从voidfixeupdate()
调用它
编辑(再次):我修复了这个问题,创建了一个新的空对象,其中除了转换(从不移动)和一个GUI文本组件之外没有任何内容。我现在遇到的问题是,GUI文本上的锚非常奇怪——它只在我把它放在左下角(而我希望它放在左上角)时才起作用。尝试更改锚定会将其移到屏幕之外的某个位置。这是我的层次结构:确保您的吉他文本组件连接到它自己的不移动的游戏对象。我猜现在它就在你的播放器或相机上
(当吉他文本组件所连接的游戏对象移动时,显示文本的屏幕位置也会移动。)您确定知道吉他文本的锚定功能吗?定位点是偏移应用于文本上的哪个点。例如,如果定位点为“左上”,像素偏移量为(300300),则文本的左上角将为屏幕右下角的300像素和屏幕左下角上方的300像素。如果锚定为“左下”,则文本的左下角将位于屏幕右下角300像素和屏幕左下角上方300像素 如果希望文本是屏幕左上角而不是左下角的特定像素数,请将代码更改为:
scoreText.pixelOffset = new Vector2 (300, Screen.height - 300);
或者,使用画布文本元素而不是吉他文本。文本元素的锚定点是它在屏幕上的偏移量,这与GuitText不同。你的层次结构是什么样子的?我通过创建一个新的空对象来解决这个问题,该对象中除了转换(从不移动)和GUI文本组件外,没有任何内容。我现在遇到的问题是,GUI文本上的锚非常奇怪——它只在我把它放在左下角(而我希望它放在左上角)时才起作用。尝试更改锚定会将其移到屏幕之外的某个位置。