C - 已经过了时间

时间:2017-11-29 15:19:43

标签: c

我正在为侠盗猎车手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;
}

但这不起作用:动画继续循环,它不会停止。

是否还有其他人知道如何实现这一目标?

1 个答案:

答案 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秒过去。