Событие MouseMove слишком медленное для рисования

StackOverflow https://stackoverflow.com/questions/404094

  •  03-07-2019
  •  | 
  •  

Вопрос

Я использую C # WinForms для создания конструктора уровней для моей игры XNA.У меня есть сетка плиток, которую вы можете нарисовать карандашом, как в MSPaint.Проблема в том, что когда вы быстро перетаскиваете мышь, чтобы нарисовать линию, плитки пропускаются.

Я пробовал использовать один подход, который я видел в Google, предлагающий создать поток для создания рисунка, но, похоже, это не помогло.

Есть какие-нибудь идеи?

Это было полезно?

Решение

ОТТОМ, вы могли бы отслеживать последнюю точку, в которой находилась мышь, и в вашем обработчике MouseMove вы можете предположить линейное движение и определить все плитки между последней точкой и текущей точкой.Я предполагаю, что вы вряд ли когда-нибудь получите достаточное количество событий MouseMove для запуска, чтобы обработать случай, когда пользователь перемещает мышь очень быстро.

Другие советы

Потрясающе!сработало отлично.

Я использовал линейный алгоритм DDA отсюда

http://www.cs.unc.edu /~mcmillan/comp136/Lecture6/Lines.html

чтобы подвести черту.

Спасибо!!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top