2012-06-06 19 views
1
if(ev.type == ALLEGRO_EVENT_TIMER) 

这是事件循环中用于检查传入事件是否为计时器事件的语句。如何在快板中使用多个定时器?

但是所有的计时器都会产生这个相同的事件,那么你怎么一次执行多个计时器呢?你如何区分它们?

回答

1

该事件是一个工会。查看所有属性here

想要ev.timer.source(或ev.any.source)。

1

这里的工作的例子,假设你有两个ALLEGRO_TIMER S(​​,timer_two):

为了应对每个定时器:

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


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

我是有这个问题的时间最长,我发现我忘记在我的更新中包含al_start_timer(alTimer);。愚蠢的错误,但如果你忘记它可能会花费你一些时间。