【问题标题】:Particles in QtQt 中的粒子
【发布时间】:2014-03-28 00:16:46
【问题描述】:

我的应用说明

我正在尝试展示一个漂亮的时间轴动画,说明城市中的自行车架如何受到交通的影响(每个架子都是一个点,当它被填满时会更接近绿色,当它变得更空时更接近红色等)


我目前所拥有的

类似于上图。

这是我迄今为止生成的代码:

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
    }

}

实际问题

很遗憾,现在在应用程序中我无法控制以下内容:

  • 粒子出现的位置和数量
  • 它们有多亮
  • 寿命(我不希望它们消失)

任何想法如何控制这个?

【问题讨论】:

    标签: qt qml qt-quick particles


    【解决方案1】:

    要在发射器集中发射 1000 个具有无限生命的粒子:

    lifeSpan: Emitter.InfiniteLife
    maximumEmitted: 1000
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多