【发布时间】:2017-08-27 09:29:39
【问题描述】:
我正在使用 C# 制作控制台游戏。我希望我的程序在用户点击箭头键时执行一段代码。虽然这听起来很简单,但我不知道该怎么做,因为我是 C# 的新手。
PS 我正在开发 VS for mac。
编辑 1:我想跟踪用户输入意味着我不希望它在程序侦听用户输入时停止其他任务。
【问题讨论】:
标签: c# console-application user-input
我正在使用 C# 制作控制台游戏。我希望我的程序在用户点击箭头键时执行一段代码。虽然这听起来很简单,但我不知道该怎么做,因为我是 C# 的新手。
PS 我正在开发 VS for mac。
编辑 1:我想跟踪用户输入意味着我不希望它在程序侦听用户输入时停止其他任务。
【问题讨论】:
标签: c# console-application user-input
您的 GameLogic 应该在一个单独的线程中无限循环地运行。 您可以通过在主线程上的 while(true) 循环无限循环中收听 Console.ReadKey() 来跟踪。每次按下键时,您都可以抛出一个由其他线程处理的事件。
要开始一个新线程,请查看:How do I run a simple bit of code in a new thread?
一个干净的方法是创建一个拥有私有线程的 GameLogicWorker(我认为最干净的方法) 这个答案显示了如何做到这一点:https://stackoverflow.com/a/8123600/4992212
但是有几种选择。也可以使用 async 和 await 关键字来实现异步操作。
【讨论】: