0

我是一名编程初学者,我开始用 C++ 创建一个游戏,当一块石头撞到它时,玩家会从屏幕上消失(他死了)。

如何在 2 秒后将播放器放回屏幕?

我有生命数(LifeNb)一个从屏幕上删除播放器的功能(removePlayer)和一个在屏幕上添加播放器的功能(addPlayer)。我怎样才能做到这一点?

int time = std::clock()/1000;
if(the rock hit) {
   number of lives --;
   remove player;
    if(time == 2)
      add   player;
}

是这样的吗?

4

3 回答 3

1

一种方法:当你的玩家死亡时,将当前时间(加上两秒)存储到一个变量中。在游戏事件循环的每次迭代中,检查当前时间是否大于或等于变量中的时间。如果是,则恢复播放器,并将变量的值设置为(时钟永远不会达到的非常大的值)。

于 2013-11-01T17:39:45.687 回答
1
clock_t timer = clock();
if ((clock()/CLOCKS_PER_SEC)-(timer/CLOCKS_PER_SEC) >= 2)
    player.add();

但是,如果您只想等待两秒钟,也可以使用系统库函数sleep()等待两秒钟。

于 2013-11-01T17:39:56.583 回答
1

sleep() 函数将延迟指定的秒数,然后再继续执行。这似乎是您正在寻找的东西。

见这里: http: //pubs.opengroup.org/onlinepubs/009604599/functions/sleep.html

于 2013-11-01T17:40:41.020 回答