我正试图暂停一段代码。我试过做一个不太有效的for循环,我只想暂停一个部分。
wait()工作还是暂停整个程序?
我正在为我的课程制作一个游戏,我想到让AI以设定的速度移动的唯一方法就是暂停它们并每隔1-3秒移动一次(例如)。
有没有人为我提供解决方案?
编辑:我显然是个白痴。没有任何wait()函数解决问题。谢谢你的帮助!答案 0 :(得分:1)
这取决于你如何运行AI。如果AI有一个你可以暂停的线程,那可能会有效。但我个人会采取另一种方法:
尝试使速度相对于前一帧的增量时间。
Movement+=velocity*dt; //velocity per second * time of previous frame in seconds
拥有固定的帧速率并使用幻数(固定的增量时间)来达到与之前相同的效果。
使用计数器和if只在某些时刻运行代码的该部分。
...
time+=dt;
if (time>3){
...
time=0.0f;
}