我试图创建一个情况下,我可以采取**“按住'E'进行交互”**类型的输入。我的第一个想法是,在按钮被按住后启动计时器。计时器达到700毫秒后,采取行动。但问题是,我不知道如何在c#中编写,因为我是这个语言的新手。任何其他方法也很受欢迎。
我在这里添加伪代码
//pseudocode
//inside the update function
if (e is pressed)
{
start timer;
if (timer.time == 700)
{
Debug.Log("E is pressed for quite some time");
}
}
1条答案
按热度按时间myss37ts1#
我会使用coroutine。
当用户按下按钮时,协程将启动,并且如果用户停止按下按钮,则协程将停止。
要做到这一点,你的代码可能看起来像这样:
当然,还有其他方法可以实现你想做的事情,但我认为协程是你最好的选择,因为当用户按住“E”时,它会非常容易地向用户添加一些反馈。例如,你可以fill an image来创建类似于以下的效果:
而且,即使你不想这样做,协同程序仍然是一个很好的选择。
希望这有帮助!