当相机跟随物体移动时,如何在屏幕上绘制XNA文本

3

目前我已经让相机跟随一张图片,但现在决定在屏幕顶部显示一些文本。 使用以下代码,我发现文本会随着位置的变化而在屏幕上移动,因为20,20的位置是静态的,这很有道理,因为相机正在跟随一个对象。

spriteBatch.DrawString(font, "test", new Vector2(20, 20), Color.White);

相机正在使用以下代码进行更新。
        _viewMatrix = Matrix.CreateTranslation(new Vector3(-this.Position.X, -this.Position.Y, 0)) *
                        Matrix.CreateRotationZ(this.Rotation) *
                        Matrix.CreateScale(new Vector3(Zoom, Zoom, 1)) *
                        Matrix.CreateTranslation(new Vector3(viewPort.Width * 0.5f, viewPort.Height * 0.5f, 0));

现在已经很晚了,我感觉自己错过了什么显而易见的东西,但如果我想要无论相机在哪里都始终显示"Test",应该怎么做呢?


你是在询问让文本保持在对象的顶部(即在屏幕上移动),还是让文本保持在屏幕上相同的位置? - neeKo
1个回答

2
简单来说,启动另外一个精灵批处理(即调用Begin),但不传递视图矩阵。

绝对的传奇,我真的应该知道!谢谢你的帮助。 - Simon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接