Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
freydev |
19.3.2010, 14:38
Сообщение
#1
|
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: 0
|
Доброго дня, подскажите как отрисовать на сцене множество объектов(около 100), каждый из которых анимирован...
анимация построена на замене картинки по таймеру...есть класс, он загружает картинку и по интервалу меняет её на другую, при добавлении в сцену объектов этого класса в количестве 3 или больше, анимация идет только если водить мышкой по сцене, с графикой никогда не работал, может чтото не правельно сделал, заранее спасибо, вот исходник... Раскрывающийся текст не нашел кнопки редактирования... вот так это добавляется в сцену... Раскрывающийся текст Цитата(freydev @ 19.3.2010, 16:34) Link Доброго дня, подскажите как отрисовать на сцене множество объектов(около 100), каждый из которых анимирован... анимация построена на замене картинки по таймеру...есть класс, он загружает картинку и по интервалу меняет её на другую, при добавлении в сцену объектов этого класса в количестве 3 или больше, анимация идет только если водить мышкой по сцене, с графикой никогда не работал, может чтото не правельно сделал, заранее спасибо, вот исходник... Раскрывающийся текст не нашел кнопки редактирования... вот так это добавляется в сцену... Раскрывающийся текст gif не предлагать) |
|
|
|
|
BRE |
19.3.2010, 15:24
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
По-моему, каждый раз загружать картинку и создавать для него маску это грубо.
Проще это сделать в конструкторе один раз, а по срабатыванию таймера только установить их. По проблеме с анимацией, попробуй установить для своего QGraphicsView флаг QGraphicsView::BoundingRectViewportUpdate: view.setViewportUpdateMode( QGraphicsView::BoundingRectViewportUpdate ); |
|
|
|
|
freydev |
19.3.2010, 20:57
Сообщение
#3
|
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(BRE @ 19.3.2010, 17:24) Link По-моему, каждый раз загружать картинку и создавать для него маску это грубо. Проще это сделать в конструкторе один раз, а по срабатыванию таймера только установить их. По проблеме с анимацией, попробуй установить для своего QGraphicsView флаг QGraphicsView::BoundingRectViewportUpdate: view.setViewportUpdateMode( QGraphicsView::BoundingRectViewportUpdate ); грубо да) но это прототип, и там много спрайтов будет разной формы, придется наверно динамически добавлять удалять, спасибо за совет, но флаг не помог( |
|
|
|
|
BRE |
19.3.2010, 21:14
Сообщение
#4
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Цитата(freydev @ 19.3.2010, 20:57) Link грубо да) но это прототип, и там много спрайтов будет разной формы, придется наверно динамически добавлять удалять, спасибо за совет, но флаг не помог( Выложи в архиве весь проект, что бы он компилировался. Посмотрю. |
|
|
|
|
freydev |
19.3.2010, 22:57
Сообщение
#5
|
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(BRE @ 19.3.2010, 23:14) Link Цитата(freydev @ 19.3.2010, 20:57) Link грубо да) но это прототип, и там много спрайтов будет разной формы, придется наверно динамически добавлять удалять, спасибо за совет, но флаг не помог( Выложи в архиве весь проект, что бы он компилировался. Посмотрю. Link |
|
|
|
|
BRE |
19.3.2010, 23:33
Сообщение
#6
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Цитата(freydev @ 19.3.2010, 22:57) Link Цитата(BRE @ 19.3.2010, 23:14) Link Цитата(freydev @ 19.3.2010, 20:57) Link грубо да) но это прототип, и там много спрайтов будет разной формы, придется наверно динамически добавлять удалять, спасибо за совет, но флаг не помог( Выложи в архиве весь проект, что бы он компилировался. Посмотрю. Link Ну у меня работает, без дополнительных движений. Linux + Qt 4.6.2 |
|
|
|
|
freydev |
19.3.2010, 23:36
Сообщение
#7
|
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(BRE @ 20.3.2010, 1:33) Link Цитата(freydev @ 19.3.2010, 22:57) Link Цитата(BRE @ 19.3.2010, 23:14) Link Цитата(freydev @ 19.3.2010, 20:57) Link грубо да) но это прототип, и там много спрайтов будет разной формы, придется наверно динамически добавлять удалять, спасибо за совет, но флаг не помог( Выложи в архиве весь проект, что бы он компилировался. Посмотрю. Link Ну у меня работает, без дополнительных движений. Linux + Qt 4.6.2 Windows =) |
|
|
|
|
Litkevich Yuriy |
19.3.2010, 23:45
Сообщение
#8
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
freydev, не цитируй целыми сообщениями. Тяжело читать.
О том, как быстро процитировать часть сообщения, смотри тему Link |
|
|
|
|
freydev |
20.3.2010, 20:02
Сообщение
#9
|
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: 0
|
запустил на linux'e, тоже норм работает, хм, а что может мешать в винде?
|
|
|
|
|
IMPOMEZIA |
21.3.2010, 9:55
Сообщение
#10
|
![]() Студент ![]() Группа: Участник Сообщений: 42 Регистрация: 18.2.2009 Пользователь №: 560 Спасибо сказали: 2 раз(а) Репутация: 0
|
freydev
С вашим кодом всё в порядке, попробуйте Qt 4.6.0 под Windows, всё будет работать, как задумано. P.S. Сообщите кто нибуть об этом, если троли ещё не в курсе. |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 25.12.2025, 5:36 |