• 7684阅读
  • 2回复

QGraphicsItemAnimation 这个怎么用的,高手指点一下下面这几个函数干嘛用的 [复制链接]

上一主题 下一主题
离线kanyou222
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-04

MainWindow::slotAddAnimationItem()
{
1    StarItem *item = new StarItem;
2    QGraphicsItemAnimation *anim = new QGraphicsItemAnimation;
3    anim->setItem(item);
4   QTimeLine *timeLine = new QTimeLine(4000);
5    timeLine->setCurveShape(QTimeLine::SineCurve);
6    timeLine->setLoopCount(0);
7    anim->setTimeLine(timeLine);
    
8    int y = (qrand()%400) - 200;
9    for (int i=0; i<400; i++)
10    {
11       anim->setPosAt(i/400.0, QPointF(i-200,y));
12   }
13   timeLine->start();
14    scene->addItem(item);
}
   这个函数实现动画效果,我想问的是,添加这个动画时,它在窗体的中,起始位置这里好像没有设置 ?
   第 5 句的setCurveShape()函数是什么意思
   第 11句的setPosAt ( qreal step, const QPointF &; point )的函数的两个参数,各代表什么意思,
   我知道第二个参数是动画要到达的终点,但第一个参数,范围怎么是0-1的,这个参数代表什么意思,
    还有第 4 句 它设定的时间是不是一次动画显示的时间??
[ 此帖被kanyou222在2011-05-04 16:13重新编辑 ]
离线kanyou222
只看该作者 1楼 发表于: 2011-05-04
回 楼主(kanyou222) 的帖子
自己顶一下,
哪位高手回答一句就行了
这个setPosAt ( qreal step, const QPointF &; point ) 函数的 第一个参数 代表什么意思
离线sunday1778

只看该作者 2楼 发表于: 2011-06-15
step 的取值范围是0 - 1,代表在时间轴(QTimeLine)上的位置。例如取值0.5  可以理解为时间轴的中点处。
快速回复
限100 字节
 
上一个 下一个