Изображение мерцает при перемещении и анимации в VB6 - PullRequest
1 голос
/ 20 сентября 2011

Я использую VB6 для создания игры.Вы двигаетесь с помощью клавиш со стрелками, а также при перемещении появляется анимация.Я кэшировал персонажа, который перемещает спрайты в массив stdPicture, но по какой-то причине все еще мерцает каждый раз.Как я могу это остановить?Я использую объект изображения с прозрачными спрайтами и сплошным фоном.Я получаю мерцание с белым фоном на спрайте и даже в графическом окне.Есть ли способ прекратить фикерство?В настоящее время я анимирую с LoadPicture (), и я двигаюсь с Image.Left = Image.Left +/- 200 и т. Д.

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

Вам необходимо использовать двойную буферизацию, которую VB6 не предоставляет автоматически.См. этот вопрос на форуме для решения VB6 (три четверти страницы). В .NET вы просто устанавливаете свойство двойной буферизации формы в значение true, и оно будет рисовать без мерцания.Рассматривали ли вы вместо этого использование VB.NET?

Вот еще одно сообщение на форуме с примерами двойного буфера VB6.

0 голосов
/ 21 сентября 2011

Вау!Почему я еще не наткнулся на это?Я только что нашел решение!Решением является использование Flash.Использование флеш-объекта Shockwave удаляет мерцание, и вы можете использовать анимацию.Это двойная победа!

...