У меня проблемы с получением простых плавных анимаций с использованием GDI + в C ++.Мой текущий подход использует таймер WinAPI, как описано здесь .Я инициализирую таймер с SetTimer
с интервалом 15 мс.Затем, когда происходит соответствующее событие WM_TIMER
, я увеличиваю верхние левые координаты выпрямителя, вызывая InvalidateRect
для всего экрана и рисуя выпрямитель.Результатом является ожидаемое движение, но с регулярным мерцанием (см. видео ).Кажется, это зависит от интервала, но он всегда есть.
Вопрос в том, как я могу изменить этот подход для достижения плавной анимации?Большинство похожих вопросов, которые я нашел, касаются C #, где набор инструментов кажется немного другим.
РЕДАКТИРОВАТЬ: Забыл добавить - это школьный проект, поэтому изменение технологий или языков на самом деле не вариант для меня.