Событие MouseMove слишком медленное для рисования
Вопрос
Я использую C # WinForms для создания конструктора уровней для моей игры XNA.У меня есть сетка плиток, которую вы можете нарисовать карандашом, как в MSPaint.Проблема в том, что когда вы быстро перетаскиваете мышь, чтобы нарисовать линию, плитки пропускаются.
Я пробовал использовать один подход, который я видел в Google, предлагающий создать поток для создания рисунка, но, похоже, это не помогло.
Есть какие-нибудь идеи?
Решение
ОТТОМ, вы могли бы отслеживать последнюю точку, в которой находилась мышь, и в вашем обработчике MouseMove вы можете предположить линейное движение и определить все плитки между последней точкой и текущей точкой.Я предполагаю, что вы вряд ли когда-нибудь получите достаточное количество событий MouseMove для запуска, чтобы обработать случай, когда пользователь перемещает мышь очень быстро.
Другие советы
Потрясающе!сработало отлично.
Я использовал линейный алгоритм DDA отсюда
http://www.cs.unc.edu /~mcmillan/comp136/Lecture6/Lines.html
чтобы подвести черту.
Спасибо!!