读书人

图片随着鼠标做椭圆形转动的实现方案。

发布时间: 2012-12-17 09:31:40 作者: rapoo

图片随着鼠标做椭圆形转动的实现方案。请教

实现功能:
椭圆形显示一系列图片,鼠标点击到图片上时,可以拖动图片,图片按椭圆形轨道循环显示。

我的实现思路是:
首先计算鼠标位置,判断是否点击到了图片,
在点击图片的时候,根据鼠标移动,重新计算图片显示位置,重新描画图片。
在松开鼠标的时候,再根据鼠标位置让图片显示落到最近的点上。

这思路非常麻烦,有没有省事的办法?

[最优解释]
这种动画效果 要么用animation 要么用QGraphicsView
[其他解释]
你可以参照例子里的机器人那个
你应该把轨道算好了 再移动
[其他解释]
计算是避免不了的 你说的麻烦是指哪里
[其他解释]
补充一下:用C++实现,QML的话比较好实现,
[其他解释]
qt例子的qml里不是有这样的吗
[其他解释]
我就是算不明白。忘了椭圆怎么算了,正百度呢。
[其他解释]

引用:
qt例子的qml里不是有这样的吗

不用QML的亲。
[其他解释]
引用:
你可以参照例子里的机器人那个
你应该把轨道算好了 再移动

现在用animation 实现的。
做法是首先算好了初始位置,
比如我有8个图片的话,为
for(int i=0;i<8;i++){
qread a = i *2 *3.1415/8;
x = 170*sin(a);
y = 70*cos(a);
}

但是在鼠标拖动的时候,根据鼠标的X,Y坐标,算出鼠标点击图片,和有效移动位置,和位置纠错,这些把我算迷糊了。
有没有直接让图片按着预先设计的轨迹和鼠标走的方法,就像QML里的似的。

读书人网 >QT开发

热点推荐