![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
freydev |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Доброго дня, подскажите как отрисовать на сцене множество объектов(около 100), каждый из которых анимирован...
анимация построена на замене картинки по таймеру...есть класс, он загружает картинку и по интервалу меняет её на другую, при добавлении в сцену объектов этого класса в количестве 3 или больше, анимация идет только если водить мышкой по сцене, с графикой никогда не работал, может чтото не правельно сделал, заранее спасибо, вот исходник... Раскрывающийся текст
не нашел кнопки редактирования... вот так это добавляется в сцену... Раскрывающийся текст
Доброго дня, подскажите как отрисовать на сцене множество объектов(около 100), каждый из которых анимирован... анимация построена на замене картинки по таймеру...есть класс, он загружает картинку и по интервалу меняет её на другую, при добавлении в сцену объектов этого класса в количестве 3 или больше, анимация идет только если водить мышкой по сцене, с графикой никогда не работал, может чтото не правельно сделал, заранее спасибо, вот исходник... Раскрывающийся текст
не нашел кнопки редактирования... вот так это добавляется в сцену... Раскрывающийся текст
gif не предлагать) |
|
|
![]() |
BRE |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
По-моему, каждый раз загружать картинку и создавать для него маску это грубо.
![]() Проще это сделать в конструкторе один раз, а по срабатыванию таймера только установить их. По проблеме с анимацией, попробуй установить для своего QGraphicsView флаг QGraphicsView::BoundingRectViewportUpdate: view.setViewportUpdateMode( QGraphicsView::BoundingRectViewportUpdate ); |
|
|
freydev |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
По-моему, каждый раз загружать картинку и создавать для него маску это грубо. ![]() Проще это сделать в конструкторе один раз, а по срабатыванию таймера только установить их. По проблеме с анимацией, попробуй установить для своего QGraphicsView флаг QGraphicsView::BoundingRectViewportUpdate: view.setViewportUpdateMode( QGraphicsView::BoundingRectViewportUpdate ); грубо да) но это прототип, и там много спрайтов будет разной формы, придется наверно динамически добавлять удалять, спасибо за совет, но флаг не помог( |
|
|
BRE |
![]()
Сообщение
#4
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
freydev |
![]()
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
грубо да) но это прототип, и там много спрайтов будет разной формы, придется наверно динамически добавлять удалять, спасибо за совет, но флаг не помог( Выложи в архиве весь проект, что бы он компилировался. Посмотрю. http://files.mail.ru/KQKMDF |
|
|
BRE |
![]()
Сообщение
#6
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
грубо да) но это прототип, и там много спрайтов будет разной формы, придется наверно динамически добавлять удалять, спасибо за совет, но флаг не помог( Выложи в архиве весь проект, что бы он компилировался. Посмотрю. http://files.mail.ru/KQKMDF Ну у меня работает, без дополнительных движений. Linux + Qt 4.6.2 |
|
|
freydev |
![]()
Сообщение
#7
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
грубо да) но это прототип, и там много спрайтов будет разной формы, придется наверно динамически добавлять удалять, спасибо за совет, но флаг не помог( Выложи в архиве весь проект, что бы он компилировался. Посмотрю. http://files.mail.ru/KQKMDF Ну у меня работает, без дополнительных движений. Linux + Qt 4.6.2 Windows =) |
|
|
Litkevich Yuriy |
![]()
Сообщение
#8
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
freydev, не цитируй целыми сообщениями. Тяжело читать.
О том, как быстро процитировать часть сообщения, смотри тему Справка по кнопкам и тэгам форума |
|
|
freydev |
![]()
Сообщение
#9
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
запустил на linux'e, тоже норм работает, хм, а что может мешать в винде?
|
|
|
IMPOMEZIA |
![]()
Сообщение
#10
|
![]() Студент ![]() Группа: Участник Сообщений: 42 Регистрация: 18.2.2009 Пользователь №: 560 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
freydev
С вашим кодом всё в порядке, попробуйте Qt 4.6.0 под Windows, всё будет работать, как задумано. P.S. Сообщите кто нибуть об этом, если троли ещё не в курсе. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#11
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
IMPOMEZIA |
![]()
Сообщение
#12
|
![]() Студент ![]() Группа: Участник Сообщений: 42 Регистрация: 18.2.2009 Пользователь №: 560 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#13
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
IMPOMEZIA, чтобы о проблеме рапортовать, лучше написать простейший тест и отправить им его
|
|
|
IMPOMEZIA |
![]()
Сообщение
#14
|
![]() Студент ![]() Группа: Участник Сообщений: 42 Регистрация: 18.2.2009 Пользователь №: 560 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
IMPOMEZIA, чтобы о проблеме рапортовать, лучше написать простейший тест и отправить им его У меня проблема с анимацией, появилась в виджете выбора смайлов, там используется QMovie, но отдельный простейший тест сделать не получилось, да и времени с этим разбираться, как-то не было. А у freydev вполне простейший тест. |
|
|
freydev |
![]()
Сообщение
#15
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Да, проблема с анимацией присутствует в 4.6.1 и 4.6.2, в более ранних версиях её нет. Может оно и так, но я бы не спешил грешить на троллтек, ведь исходник KAsteroids есть, он компилится, и под Windows с анимацией там все впродяке, и реализована она там достаточно интересным способом, сейчас попробую её |
|
|
IMPOMEZIA |
![]()
Сообщение
#16
|
![]() Студент ![]() Группа: Участник Сообщений: 42 Регистрация: 18.2.2009 Пользователь №: 560 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
freydev |
![]()
Сообщение
#17
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
А он прав, поставил 4.6.0, все работает как часы, и не тормозит даже на 500 объектах
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#18
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
freydev |
![]()
Сообщение
#19
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
IMPOMEZIA Теперь маска по цвету не хочет создаваться) а цвет правильный выбирается, полностью идентичен, может в 4.6.0 какие то флаги нужно прописать чтобы с маской отображалось, и что странно если делать маску по rgb(0,0,0) все отображается как должно
|
|
|
freydev |
![]()
Сообщение
#20
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.3.2010 Пользователь №: 1549 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
а тут все ясно, windows 7 не поддерживается
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 21.6.2025, 12:29 |