Название: Анимация и движение QGraphicsItem Отправлено: Max Payne от Апрель 05, 2011, 14:49 Привет всем ... Столкнулся со следующей проблемой:
Использую QGraphicsView и установленную в него QGraphicsScene. На этой сцене есть QGraphicsItem которые я рисую в наследуюмом класе (прямоугольники залитые цветом и другие простые геометрические фигуры). И отдельно унаследован от того же QGraphicsItem еще один айтем, который рисуеться как картинка: Код: void Robot::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) Код: void Arthur::on_pushButton_2_clicked() В этом случае анимация есть , но она зависит от времени выполнения цикла, и очень лагает, если делать еще чтото, например еще чтото считать. Я попробовал сделать через QGraphicsItemAnimation: Код: void Arthur::on_pushButton_4_clicked() Подскажите что не так, и может кто знает как движение реализовать лучше. Например, через метод advance(); Я просто не понял как передавать туда значение угла и размера шага... Заранее спасибо =) Название: Re: Анимация и движение QGraphicsItem Отправлено: GreatSnake от Апрель 05, 2011, 14:52 Цитировать painter->drawImage(0,0,QImage(":\\im\\C:\\Users\\Max_Payne\\Desktop\\Robott\\robot_2.png")); Разве не видно, что проблема как минимум здесь?потом Код Зачем аллокируешь в куче и не удаляешь? Код Какой смысл в задержке в 1 миллисекунду? Чем не устроил QGraphicsPixmapItem? И коли завёл свой, то как реализован его boundingRect()? Название: Re: Анимация и движение QGraphicsItem Отправлено: Max Payne от Апрель 05, 2011, 15:17 Точно, спасибо исправил ...
Реализовываю так область перерисовки: Код: QRectF Robot::boundingRect() const |