2009-08-15 58 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

我没有使用它,但是从文章/演示现在看来,这将允许你做一堆东西,整齐的控制台上。

相关问题