Qt Quick 开发案例(三):粒子系统构建

除了动画之外,我们还使用粒子在游戏画面上产生运动。我们使用maroon.qml中的ParticleSystem QML类型,使气泡出现在新的游戏画面和游戏画布的底部,并以不同的轨迹慢慢向顶部浮动。

往期推荐:

如何为游戏添画面以及构造背景

如何构造动画背景对象

发射粒子

除了动画之外,我们还使用粒子在游戏画面上产生运动。我们使用maroon.qml中的ParticleSystem QML类型,使气泡出现在新的游戏画面和游戏画布的底部,并以不同的轨迹慢慢向顶部浮动。

要使用ParticleSystem类型,我们必须导入Qt Quick Particles QML类型。

import QtQuick.Particles 2.0

为了让粒子出现在游戏背景上,我们将ParticleSystem类型放在显示游戏背景的Image类型中。

 Image {        source:"content/gfx/background.png"        anchors.bottom: view.bottom        ParticleSystem {            id: particles            anchors.fill: parent

在ParticleSystem中,我们使用一个Emitter类型,以每秒2个的速度从发射器的位置发射粒子,寿命为15秒。

 Emitter {                width: parent.width                height: 150                anchors.bottom: parent.bottom                anchors.bottomMargin: 3                startTime: 15000                emitRate: 2                lifeSpan: 15000                acceleration: PointDirection{ y: -6; xVariation: 2; yVariation: 2 }                size: 24                sizeVariation: 16            }

加速度属性使用PointDirection类型来指定x和y坐标的随机变化,这样气泡就会出现在发射器周围的一个矩形区域内,这个区域被固定在图像的底部。

size属性将粒子开始时的基本尺寸设置为24像素,sizeVariation属性随机增加或减少粒子的尺寸,最多增加或减少16个像素,这样我们就可以得到不同大小的气泡。

由于发射器没有可视化,我们使用ImageParticle类型来渲染粒子位置的catch.png图像。

ImageParticle {                id: bubble                anchors.fill: parent                source: "content/gfx/catch.png"                opacity: 0.25            }

Wander类型将随机轨迹应用于粒子,使气泡遵循从底部到顶部的随机路线。

 Wander {                xVariance: 25;                pace: 25;            }

关于使用ParticleSystem类型的另一个例子,请参见GameOverScreen.qml文件,在该文件中,ImageParticle类型被用来使云在天空中移动。

Qt常用组件

  • QtitanRibbon| 下载试用: 遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件,致力于为Windows、Linux和Mac OS X提供功能完整的Ribbon组件。
  • QtitanChart | 下载试用 :是一个C ++库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。并且支持所有主要的桌面操作系统。
  • QtitanDataGrid | 下载试用 :这个Qt数据 格组件使用纯C++创建,运行速度极快,处理大数据和超大数据集的效果突出。QtitanDataGrid完全集成了QtDesigner,因而极易适应其他相似的开发环境,保证100%兼容Qt GUI。

Qt Quick 开发案例(三):粒子系统构建

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月4日
下一篇 2021年1月4日

相关推荐

发表回复

登录后才能评论