今年圣诞节手痒简单实现了一个桌面雪花飘落的动画背景, 发给老婆体验一下, 提了些意见, 进行了改进.
上一个版本地址在:
http://blog.csdn.net/vince025/article/details/17552497
今天改进了以下几点:
1. 雪花旋转了
2. 加入了飘落时会左右飘动, 想模拟风吹的感觉. (很生硬, 算法还得优化)
3. 会在桌面底部堆积雪花 (一网友在第一版的资源下载里提出的建议)
4. 下落速度和左右飘的速度在一定的范围内随机生成
这个版本的代码托管在github.com上了:
https://github.com/vince025/DesktopSnowFalling.git
备注: 有点懒, 代码没注释.
准备将这个应用的优化和改进过程写成系列, 好好了解一下Qt做动画. blog里不过多解释, 往后会多写注释. 看代码就应该ok了.
目前的优化/对比想法:
动画目前是使用QLabel存图片信息, 然后轮流显示实现动画.
往后试试以下方法:
1. 轮流重画QWidget背景图实现动画
2. 使用QGraphicView实现动画
3. 使用animations实现动画
4.每个雪花动画自己更新动画(目前有大的QWidget使用一个timer一次循环更新全部雪花的动画切换)
主要是想看看哪些方法更容易实现, 更省系统资源(比如所耗CPU, 内存等)
这里说一下三个类(目前只写了三个类):
Widget类: 作为背景, 透明, 主窗口
Swing类: 提供雪花摆动的方向(左/右/下)
SnowWidget类: 雪花的实现类
PS: 刚好最近结了项目, 有时间, ^_^
上传了可直接运行的程序:
http://download.csdn.net/detail/vince025/6775145
上一张截图, 老婆配了个背景:
作者:vince025 发表于2013-12-27 2:28:45 原文链接
阅读:88 评论:0 查看评论