2009-08-15 57 views
4

我在搞遊戲循環,並打算創建一些遊戲作爲練習。有沒有比使用Console.Clear()製作控制檯遊戲更好的方法?

目前,我有一個穩定的遊戲循環了在遊戲中儘可能快地更新和渲染更新X次(25目前)

的rendinging方法基本上是一個平局+ Console.Clear( ),並且在非常高的更新下,當Console.Clear()命中時,顯示變得非常緊張,因爲它沒有完成繪製。

有沒有更好的方法來做這樣的事情?

我可以將任何數據寫入控制檯,然後將其替換爲其他一些數據嗎?

回答

4

假設你從左上又在每一個循環寫一個完整的畫面,你可以簡單地更換清除()有:

Console.SetCursorPosition(0, 0); 

並覆蓋前一個畫面。

+0

啊,這可能是我所經歷的關鍵。謝謝 :) – 2009-08-15 21:19:18

3

既然你是在C#中,無論如何,你可能想看看XNA Framework

我猜你的問題來自Console.Clear()沒有被用於這種用途的優化,爲XNA採用了類似的方法(Clear()上調用GraphicsDevice)。

如果你不想嘗試使用XNA,那麼繪製一個矩形(純黑或灰色或其他)可能會更快,而不是調用Clear()來「屏蔽」屏幕然後繪製它。

+0

我從控制檯開始瞭解遊戲循環的基本內部工作原理。但是,在數據而不是Console.Clear()上繪製空白頁面可能會更快。 – 2009-08-15 21:13:26

1

您migth想退房ConsoleLibrary

我沒有使用它,但是從文章/演示現在看來,這將允許你做一堆東西,整齊的控制檯上。

相關問題