QT实现简单的下雪效果

原创 2017年09月13日 20:28:00

QT实现简单的下雪效果

1.读入雪花图片

1.1 使用QPixmap类读入图片
QPixmap pix("://snow2.png");
1.2 使用Prawpixmap在界面上显示图片
//前两个参数表示图片左上角顶点的位置,后两个参数表示图片的大小
p.drawPixmap(50,50,20,20,pix);

2.设置随机的坐标点并显示图案

2.1 创建一个容器存放坐标点。
QList<QPoint> dispPos;
2.2 在构造函数中初始化这些坐标点,需要设置随机数种子,记得加上<QTime>头文件
//设置随机数种子
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
/用随机数初始化这些坐标点,随机分布在窗口中
for(int i = 0;i<10;i++)
    {
        dispPos << QPoint(qrand()%width(),qrand()%height());
    }
2.3 在窗口中在这些坐标点上显示雪花图案。
//将图片的大小设置为30*30
for(int i = 0;i<dispPos.count();i++) 
    p.drawPixmap(dispPos[i],pix.scaled(30,30));

3.控制雪花的”飘落”

3.1 使用timerEvent事件,先开启定时器
//每过50毫秒调用一次事件
timerId = startTimer(50);
3.2 在事件中改变雪花图案的y坐标值,使其下落
//遍历所有雪花
for(int i = 0;i<dispPos.count();i++)
{  //y坐标在原来基础上+1
    dispPos[i].setY(dispPos[i].y() + 1);
    //判断:当y坐标超过窗口高度时
    if(dispPos[i].y() >= height())
    {
    //将y坐标设置为0:从头开始
        dispPos[i].setY(0);
    //但是x坐标进行随机,也就是从窗口顶随机位置出现
        dispPos[i].setX(qrand()%width());
    }
}
//记得刷新界面
update();

JavaScript实现下雪(Snow)效果

 代码1:Happy New YearN = 100; Y = new Array();X = new Array();S = new Array();A = new Array();B = new ...
  • feng19821209
  • feng19821209
  • 2004年12月24日 11:52
  • 1624

Android 仿下雪效果

转载请说明出处  最近在做公司新产品的设计,想到下雪效果设计加入到项目应该挺不错的,所以我们想将这个设计理念加入到我们的产品中。 下面是效果图: 没截取动态图 XM...
  • dzzzheng95
  • dzzzheng95
  • 2017年02月11日 22:27
  • 532

HTML5 canvas超简单和逼真的下雪特效

WebSnowjq.js是一款基于HTML5 canvas的超简单和逼真的下雪场景特效js插件。该下雪特效插件可以通过简单的参数设置了设定雪花的数量。每朵雪花的飘落速度各不相同,层次感非常强。 该下...
  • souhugirl
  • souhugirl
  • 2015年04月07日 12:57
  • 1752

使用JavaScript和Canvas实现下雪动画效果

该下雪动画效果使用了HTML5中Canvas画布实现,其中涉及了物理学中曲线运动的相关知识与运算。...
  • yhb241
  • yhb241
  • 2015年07月14日 15:46
  • 935

粒子系统----实现下雪效果

原创文章,转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/8289683 太原市今天下雪了,8点出门,银装素裹,分外妖娆。今天就来主...
  • fuqiang3270
  • fuqiang3270
  • 2014年04月30日 17:58
  • 383

使用UIView动画完成一个下雪动画

使用UIView动画完成一个下雪动画 UIView动画是UIKit提供专门制作动画的API,其本质是对CoreAnimation的封装,使用UIView可以轻松方便的实现动画,不需要经过任何计算...
  • xuebing22022
  • xuebing22022
  • 2016年01月11日 09:40
  • 724

Unity3D下雪粒子特效

明天放假了,心都快飞了~ 想起来更新一下博客,也为CSDN尽一点微薄之力.....     前几天由于工作需要,制作各种天气,就把下雪的资源保存下来了,暴风雪,中雪,小雪,如下图 资源包中,我...
  • xggllc
  • xggllc
  • 2012年12月29日 15:51
  • 3449

java实现下雪雪花飘落并堆积效果

在一个800*600的画布上实现雪花飘落并在下方堆积的一个效果。实现方案是画两层雪花,一层是飘落的,一层是在下方不动并堆积的。 演示效果(黄色的是月亮): 代码:import java.awt...
  • github_29503619
  • github_29503619
  • 2015年07月04日 01:50
  • 2066

Javascript面向对象例子--下雪效果

javascripts中到底什么是面向对象,直到现在我也很难说清楚,我看了网上的解释也是云里雾里,总觉得有些人故意把这个概念说的太专业,一大堆“深奥”的名词,原型链,构造对象等等,其实对于新手来说,还...
  • JustForZR
  • JustForZR
  • 2017年03月21日 18:36
  • 701

让CSDN下雪!快圣诞节了,分享一个h5实现的下雪效果

可以让任何网站页面下雪的效果。原生的javascript和canvas实现,比jquery插件实现的性能好很多了。...
  • weakfi
  • weakfi
  • 2016年12月05日 00:18
  • 1266
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT实现简单的下雪效果
举报原因:
原因补充:

(最多只允许输入30个字)