Qt中的粒子

时间:2014-03-28 00:16:47

标签: qt qml qt-quick particles

我的应用说明

我试图展示一个漂亮的时间线动画,了解一个城市的自行车运动如何受到交通的影响(每个机架都是一个圆点,随着它的填充越来越朝向绿色,更像是红色的它变得更加空虚等)


到目前为止我有什么

Something like this

类似上图。

这是我的代码到目前为止产生了这个:

import QtQuick 2.0
import QtQuick.Particles 2.0

Rectangle {
    width: 360
    height: 360

    color: "black"

    id: bg

    ParticleSystem {
        id: sys
    }

    Emitter {
        anchors.fill: parent
        system: sys
        ImageParticle {
            anchors.fill: parent
            system: sys
            source: "images/greenBlip.png"
            clip: true
            id:  redblip
        }

        lifeSpan: 6000
    }

}

实际问题

不幸的是,现在在应用程序中我无法控制以下内容:

  • 出现在哪里和有多少粒子
  • 他们有多聪明
  • 寿命(我不希望他们消失)

任何想法如何控制这个?

1 个答案:

答案 0 :(得分:0)

在发射器组中发射1000个具有无限寿命的粒子:

lifeSpan: Emitter.InfiniteLife
maximumEmitted: 1000

发射器的onEmitParticles(Array particles)信号可让您访问所有粒子。您可以保留该数组,稍后可以随意修改它。我还没有检查从C ++访问这个数组有多难。这是可能的,但是粒子有私有实现,你需要提取私有头等。你也可以附加到C ++代码的信号,同样需要注意。