【问题标题】:How to use multiple timers in allegro?如何在快板中使用多个计时器?
【发布时间】:2012-06-06 13:41:34
【问题描述】:
if( ev.type == ALLEGRO_EVENT_TIMER)

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

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

【问题讨论】:

    标签: timer allegro allegro5


    【解决方案1】:

    事件是一个联合。查看here的所有属性。

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

    【讨论】:

      【解决方案2】:

      这是一个工作示例,假设您有两个 ALLEGRO_TIMERs(timer_one, timer_two):

      响应每个计时器:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2020-03-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-06-08
          • 1970-01-01
          • 2015-10-19
          • 1970-01-01
          相关资源
          最近更新 更多