Forum > Russian
Три вопроса новичка: OnPaint, ImageList и логика программы
majolika:
--- Quote from: Seenkao on February 20, 2025, 10:29:55 am ---Надо создать флаг, который будет включаться, когда проигрывается анимация.
--- End quote ---
А Timer.Enabled не может служить таким флагом?
--- Quote from: Seenkao on February 20, 2025, 10:29:55 am ---значит события ни какие не обрабатываем и выходим из обработки
--- End quote ---
А это как? С помощью Application.ProcessMessages?
Я пока так и не понял, как именно эта штука работает.
Seenkao:
--- Quote ---А Timer.Enabled не может служить таким флагом?
--- End quote ---
Можно, но не желательно. Лучше ввести свой собственный флаг (булеву переменную).
--- Quote ---А это как? С помощью Application.ProcessMessages?
--- End quote ---
в процедуре обработки, например клавиш или мыши, пишем:
Если флаг, то
выходим.
Вот и вся проблема.
majolika:
--- Quote from: Seenkao on February 20, 2025, 03:07:00 pm ---в процедуре обработки, например клавиш или мыши, пишем:
Если флаг, то
выходим.
--- End quote ---
Понял. Спасибо!
Но это будет работать только внутри контрола, к которому привязан обработчик событий (в моём случае — PaintBox).
С одной стороны — это уже полдела и хрен бы с ним, с остальным; а с другой стороны — хочется, чтобы вся программа замирала.
Но в любом случае — спасибо!
Nimbus:
Как простейшее решение, вы можете блокировать события отдельных контролов (либо всей формы), устанавливая их значение Enabled := False на нужное время.
majolika:
--- Quote from: Nimbus on February 20, 2025, 06:58:01 pm ---Как простейшее решение, вы можете блокировать события отдельных контролов (либо всей формы), устанавливая их значение Enabled := False на нужное время.
--- End quote ---
Всю форму блокировать таким способом я пробовал. Она дёргаться начинает, если кликнуть в процессе анимации. Выглядит не очень.
А вот PaintBox блокировать на время анимации — это интересная мысль. Надо попробовать. Спасибо за подсказку! :)
У меня главная беда-то какая: когда срабатывает триггер проигрыша/победы, выводится соответствующее окошко, а вот анимация получения урона продолжает проигрываться и может вылезать из-под окошка проигрыша/победы. Там анимации-то — меньше секунды, но всё равно как-то не очень хорошо.
Navigation
[0] Message Index
[#] Next page
[*] Previous page