Урок 11 Попробуем выстрелить;Баг отрисовки - как исправить?, "Мерцание" отрисовки, искажение формы снаряда |
Здравствуйте, гость ( Вход | Регистрация )
Урок 11 Попробуем выстрелить;Баг отрисовки - как исправить?, "Мерцание" отрисовки, искажение формы снаряда |
I_Wanna_Know |
28.8.2014, 16:40
Сообщение
#1
|
Студент Группа: Участник Сообщений: 20 Регистрация: 28.8.2014 Пользователь №: 4213 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток уважаемые форумчане!
Я новичок в Qt, изучаю фреймворк по урокам с вашего портала(за что отдельное спасибо старавшимся) в общем то в этом уроке , при компиляции его с исходников (всё корректно скопипаcтенно опечатки исправлены) происходит некорректное отображение снаряда он по всей траектории полёта меняет свой размер(становится то больше то меньше), не на всём пути траектории отрисовывается и внезапно рывками появляется дальше по траектории и как бы "мерцает", сначала думал что это проблемы буфферизации, но почитав доки понял вроде как с Qt4+ двойная буферизация в виджетах включена по умолчанию ...в общем не знаю что и думать, помогите пожалуйста исправить этот баг или хотя бы подскажите как в рамках этого урока по другому переписать виджет. |
|
|
FireBlack |
30.8.2014, 12:27
Сообщение
#2
|
Студент Группа: Участник Сообщений: 38 Регистрация: 17.10.2010 Из: г.Пенза Пользователь №: 2121 Спасибо сказали: 13 раз(а) Репутация: 1 |
Проще всего данный баг лечится простой заменой update(region); на update(); в функции CannonField::moveShot().
Кстати, чтобы избавиться от эффекта антиалиазинга (при отрисовки орудия) стоит добавить painter.setRenderHint(QPainter::Antialiasing, true); после QPainter painter(this); в функции CannonField::paintEvent(QPaintEvent *). |
|
|
Текстовая версия | Сейчас: 2.12.2024, 1:38 |