Таймер

В этой теме 6 ответов, 5 участников, последнее обновление MicroSDA MicroSDA 5 года/лет, 2 мес. назад.

Просмотр 7 сообщений - с 1 по 7 (из 7 всего)
  • Автор
    Сообщения
  • #1693

    val67
    Участник
    Сообщений:13

    Зарегистрирован:
    17.06.2015

    Репутация:1

    Напишите код простенького таймера задержки в sfml. НЕ SLEEP. Например мне нужна задержка в цикле.

     

    #1694
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:146
    #1720

    val67
    Участник
    Сообщений:13

    Зарегистрирован:
    17.06.2015

    Репутация:1

    Я хочу сделать универсальную функцию таймер. Допустим у меня много действий в игре по таймеру, и если к каждому писать такой код…

    Вот попробовал. Создал отдельную функцию и пытался сделать задержку отрисовки, но на деле окно просто зависало.

    Да и использовать глобальную переменную не камильфо… Какие будут идеи?

    #1721
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:146

    Что мешает тебе засунуть эти функции в таймер, а не наоборот?

    #1741
    +1

    Mihalo15z
    Участник
    Сообщений:11

    Зарегистрирован:
    23.07.2015

    Репутация:10

    А что ты хотел увидеть, кроме ” зависания ” если ты останавливаешь всю программу? Если хочешь что что либо при таком раскладе происходило, делай потоки.
    ну или как о так if( timer.get() ){…} и где нибудь выше его активация, с условием что повторная возможна ток по окончанию работы.
    А чем плох Sleep()? все также, ток делается счетчик циклов и устанавливается значение на нужное количество( может чутка сложнее получить наиболее точное значение, но никто же не мешает синхронизироваться с внешним временем)

    #1743

    Oleg
    Участник
    Сообщений:11

    Зарегистрирован:
    09.08.2015

    Репутация:4
    #1752
    MicroSDA
    MicroSDA
    Участник
    Сообщений:64

    Зарегистрирован:
    24.04.2015

    Репутация:22

    Делай класс. В него пили поток, поток и будет твоим таймером, в потоке сделай цикл пока время меньше или равно времени которое ты туда передаешь. Когда цикл обрывается то поток должен закрыться. Вот по этому и определяй закончился ли таймер или нет. Внутри цикла потока считай прошедшие время этого потока и плюсуй его в переменную индикатор. Ка-то так.

Просмотр 7 сообщений - с 1 по 7 (из 7 всего)

Для ответа в этой теме необходимо авторизоваться.