目前我有相机跟随图像,但现在决定我想在屏幕顶部显示一些文字。 我发现使用以下代码,它使文本在屏幕上移动,因为20,20的位置正在改变。 (这在摄像机跟随一个物体时是有意义的,位置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));
它已经很晚了,觉得我错过了一些明显的东西,但是如果我想总是在屏幕上显示“测试”,无论相机在哪里,你怎么去呢?
答案 0 :(得分:1)
简单:启动另一个精灵批处理(即:调用Begin
),而不传递视图矩阵。