首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Qt Quick Particle System粒子系统实现烟花效果

马上要过年了,咱们这次来做一个特别的,用粒子系统实现烟花效果。有的使用过Qt Quick粒子系统的小伙伴可能会说,一个爆炸效果有什么好做的,几行代码就实现了。但是如果要完整呈现烟花的发射爆炸整个过程,其实还是要费点功夫的,下面先来看效果图。

其实这个效果不是很好,建议大家看看下面的视频演示(有声音的哦)。

开发环境:Win 7 + Qt 5.12.0

首先实现发射效果

新建空的Qt Quick Application,完成后将main.qml文件内容更改如下:

这里我们创建了一个ImageParticle,然后使用发射器在上方一个弧度里面发射粒子,这样确保烟花是向上发射的。下面是运行效果。

添加一个冒烟小尾巴

为了实现烟花发射过程中留下的烟雾轨迹,我们使用TrailEmitter来实现这种跟随效果。在ParticleSystem对象中继续添加如下代码:

下面是运行效果(睁大眼睛仔细看):

实现爆炸效果

烟花发射到空中是需要爆开的,下面添加爆炸效果:

不过这样添加的代码并不能让它在对应的点位爆炸,我们还需要进行一下特殊的处理来获取前面粒子发射到空中的位置,继续添加下面的代码:

这里使用了Affector影响器来获取发射过来的粒子位置,然后在这个位置进行爆炸,这样就实现了我们想要的效果,看看下面的动图,其实黑色背景也挺漂亮的。

化腐朽变神奇

很多时候腐朽离神奇只差一张背景图,如果还是不行,就再加上一个音效。我们在根对象Window中,ParticleSystem对象定义前添加如下代码:

然后在Affector的for语句最后添加一行代码来播放音效:

现在可以运行程序查看效果了。

结语

谨以此程序祝愿所有支持yafeilinux的朋友们春节快乐!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190117G17MME00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券