我正在制作游戏 wumpus world在 winforms 中,代理(计算机)可以在 4 个方向上移动。我正在使用按钮控件作为基础,并在需要的地方显示和隐藏图像。我为此使用了 Thread.Sleep,但问题是当我单击按钮时,表单上没有显示任何内容。后台进程运行良好,但未显示每个步骤。是的,我在当前 UI
线程中使用 Thread.Sleep
。
我想以2秒的间隔向用户展示每一步。
最佳答案
如果没有任何代码,很难回答,但据我所知,主要问题是你改变了世界的外观,然后告诉它 sleep ,女巫意味着什么都不会被绘制。然后当线程醒来时,您再次改变世界并使其休眠。什么都不会那样画。
更好的方法是使用计时器,将其设为单个计时器和需要显示的事件队列,您正在执行此操作。
你在 winForms 上工作吗,因为如果你在 WPF 上工作,你可以做更好的事情
编辑:我并不是说 Timer 是最好的方式,但它是一个很好的有效方式
关于c# - Thread.Sleep 或 Timer 用于显示每一步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17773141/