如何在快板中使用多个计时器?

时间:2012-06-06 13:41:34

标签: timer allegro allegro5

if( ev.type == ALLEGRO_EVENT_TIMER)

这是事件循环中的语句,用于检查传入事件是否为计时器事件。

但所有计时器都会产生同样的事件,那么你如何让多个计时器同时进行呢?你如何区分它们?

3 个答案:

答案 0 :(得分:1)

该事件是一个联盟。查看所有属性here

您需要ev.timer.source(或ev.any.source)。

答案 1 :(得分:1)

以下是一个工作示例,假设您有两个ALLEGRO_TIMER s(timer_onetimer_two):

回应每个计时器:

if(ev.timer.source == timer_one) { //Timer one listener
//Code...
}


if(ev.timer.source == timer_two) { //Timer two listener
//Code...
}

答案 2 :(得分:0)

我遇到问题的时间最长,我发现我忘记在我的更新中加入al_start_timer(alTimer);。愚蠢的错误,但如果你忘记它可能会花费你一些时间。