2011-12-03 63 views
2

目前我的相機跟在一張圖像後面,但現在決定我想在屏幕的頂部顯示一些文字。 我發現使用下面的代碼,它使文本在屏幕上移動20,20的位置正在改變。 (這是有道理的,因爲相機跟隨一個物體,位置20,20是靜態的)。xna當相機跟隨物體時,將文字繪製到屏幕上

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

您是要求讓文本停留在對象頂部(即在屏幕上移動)還是使文本保持在屏幕上的相同位置? – neeKo

回答

1

簡單:在不傳遞視圖矩陣的情況下啓動另一個精靈批處理(即:調用Begin)。

+0

絕對的傳說,我真的應該知道!感謝您的幫助。 – Simon