Как использовать несколько таймеров в аллегро?

if( ev.type == ALLEGRO_EVENT_TIMER)

Это оператор в цикле обработки событий, чтобы проверить, является ли входящее событие событием таймера.

Но все таймеры будут генерировать одно и то же событие, так как же у вас одновременно работает несколько таймеров? Как вы их различаете?


person porque_no_les_deux    schedule 06.06.2012    source источник


Ответы (3)


Мероприятие является объединением. Все свойства смотрите здесь.

Вы хотите ev.timer.source (или ev.any.source).

person Matthew    schedule 06.06.2012

Вот рабочий пример. Предположим, у вас есть два 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...
}
person Abdulaziz    schedule 13.10.2013

У меня была проблема с этим в течение длительного времени, и я обнаружил, что просто забыл включить al_start_timer(alTimer); в свое обновление. Глупая ошибка, но если вы ее забудете, это может стоить вам некоторого времени.

person heidthecamp    schedule 30.01.2014