C# 有没有比使用console.Clear()制作控制台游戏更好的方法?
我正在玩弄游戏循环,准备制作一些游戏作为练习 目前我有一个稳定的游戏循环,游戏更新速度尽可能快,渲染每秒更新x次(目前为25次) 渲染方法基本上是一个draw+Console.Clear()方法,当Console.Clear()点击时,显示会变得非常不稳定,因为它还没有完成绘制 有没有更好的方法来做这样的事情 我是否可以将任何数据写入控制台,然后将其替换为其他数据?既然您使用的是C#无论如何,您可能需要查看 我猜您的问题是由于C# 有没有比使用console.Clear()制作控制台游戏更好的方法?,c#,console,game-loop,C#,Console,Game Loop,我正在玩弄游戏循环,准备制作一些游戏作为练习 目前我有一个稳定的游戏循环,游戏更新速度尽可能快,渲染每秒更新x次(目前为25次) 渲染方法基本上是一个draw+Console.Clear()方法,当Console.Clear()点击时,显示会变得非常不稳定,因为它还没有完成绘制 有没有更好的方法来做这样的事情 我是否可以将任何数据写入控制台,然后将其替换为其他数据?既然您使用的是C#无论如何,您可能需要查看 我猜您的问题是由于Console.Clear()没有针对这种使用进行优化,因为XNA使用
Console.Clear()
没有针对这种使用进行优化,因为XNA使用了类似的方法(Clear()
在图形设备上调用)
如果您不想尝试使用XNA,那么绘制一个矩形(纯黑色或灰色或其他颜色)可能比调用Clear()
将屏幕“清空”,然后在其上绘制更快。您可能想查看
我没有使用它,但从文章/演示来看,它似乎可以让您在控制台上完成一大堆整洁的工作。假设您在每个循环中都从左上角重新编写一个全屏,您只需将Clear()替换为:
并覆盖上一个屏幕。我从一个控制台开始,以了解游戏循环的基本内部工作原理。但是在数据上画一张白板而不是控制台可能会更快。Clear()。啊,这可能是我经历的关键。谢谢:)
Console.SetCursorPosition(0, 0);