我正在为侠盗猎车手V进行游戏修改。在此修改中,我播放动画,但我也希望此动画在8秒后停止。
我必须计算游戏时间,看看是否已经过了8秒(GET_GAME_TIMER()
以毫秒为单位输出游戏时间):
int tic = GET_GAME_TIMER();
int toc = 1;
if (toc&&((GET_GAME_TIMER()-tic) > 8000)) {
// stop animation
toc = 0;
}
但这不起作用:动画继续循环,它不会停止。
是否还有其他人知道如何实现这一目标?
答案 0 :(得分:2)
下面
if (toc&&((GET_GAME_TIMER()-tic) > 8000)) {
如果已经过了8秒,则在将tic
设置为时钟值后立即检查。除非计算机非常慢,否则就不会发生这种情况。
在相反条件下执行而将起作用
while (toc && (GET_GAME_TIMER()-tic) <= 8000)) {
// nothing, just wait
// or you could use that time to do some quick tasks
}
toc = 0;
在循环中等待,直到8秒过去。