QML笔记-Particle的基本使用(粒子系统的基本使用)
生活随笔
收集整理的這篇文章主要介紹了
QML笔记-Particle的基本使用(粒子系统的基本使用)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
?
?
基本概念
博主例子
源碼打包下載
?
基本概念
粒子系統(ParticleSystem)- 管理發射器之間的共享時間線。
發射器(Emitter)- 向系統中發射邏輯粒子。
粒子畫筆(ParticlePainter)- 實現粒子可視化。
其中下面的ParticlePainter是ImageParticle,他是ParticlePainter的子類
?
每一個例子系統都有自己獨立的線程。
其中發射器可以設置例子發射的角度和頻率,以及其他的東西;
?
博主例子
先來個靜態的運行截圖:
動態的運行截圖:
程序結構如下:
main.cpp
#include <QGuiApplication> #include <QQmlApplicationEngine>int main(int argc, char *argv[]) {QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);QGuiApplication app(argc, argv);QQmlApplicationEngine engine;engine.load(QUrl(QStringLiteral("qrc:/main.qml")));if (engine.rootObjects().isEmpty())return -1;return app.exec(); }main.qml
import QtQuick 2.9 import QtQuick.Window 2.2Window {id: windowvisible: truewidth: 800height: 600title: qsTr("Hello World")Image{id: imagesource: "qrc:/img/bg.jpg"transformOrigin: Item.Centeranchors.centerIn: parentNumberAnimation on rotation {from: 0to: 360duration: 20000loops: Animation.Infinite}}MyParticle{id: myParticle} }MyParticle.qml
import QtQuick 2.0 import QtQuick.Particles 2.0Item {ParticleSystem{id: sys}ImageParticle{system: syssource: "qrc:/img/star.png"}Emitter{id: startFieldsystem: sysemitRate: 80lifeSpan: 2500lifeSpanVariation: 4000width: window.widthheight: window.height//acceleration: PointDirection { xVariation: 200; yVariation: 200; }size: 0endSize: 48sizeVariation: 10}}?
源碼打包下載
https://github.com/fengfanchen/Qt/tree/master/ParticleDemoAoutQML
總結
以上是生活随笔為你收集整理的QML笔记-Particle的基本使用(粒子系统的基本使用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue-cli3项目移动设备调试访问报错
- 下一篇: Python笔记-函数装饰器的缺点