Слишком быстрое недействительное изображение - PullRequest
1 голос
/ 15 февраля 2011

Я создал простое приложение, в котором игрок перемещает изображение влево и вправо. Я перерисовываю только область игрока. Но если игрок держит клавишу, движение будет слишком быстрым, и вы не сможете увидеть изображение, движущееся быстрее, чем мерцающее «что-то». Есть ли способ это исправить? Я только начинаю и мне всего 14 лет, поэтому, пожалуйста, потерпите меня. Что я делаю, так это на событии нажатия клавиши, я распознаю стрелку и затем добавляю или вычитаю свойства класса X и Y игрока. Исходя из этого, я лишаю законной силы область вокруг игрока.

1 Ответ

0 голосов
/ 15 февраля 2011

Если основной проблемой является мерцание, вы хотите использовать двойную буферизацию (рисование в области памяти, а не на экране, а затем переключение этой области памяти для рисования). Попробуйте установить эти флаги на вашей форме (в ее конструкторе):

SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
SetStyle(ControlStyles.DoubleBuffer, true);
...