diff options
Diffstat (limited to 'src/particles/qquickwander.cpp')
-rw-r--r-- | src/particles/qquickwander.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/particles/qquickwander.cpp b/src/particles/qquickwander.cpp index 099b453808..a78482ec84 100644 --- a/src/particles/qquickwander.cpp +++ b/src/particles/qquickwander.cpp @@ -39,6 +39,7 @@ #include "qquickwander_p.h" #include "qquickparticlesystem_p.h"//for ParticlesVertices +#include <QRandomGenerator> QT_BEGIN_NAMESPACE /*! \qmltype Wander @@ -102,8 +103,8 @@ WanderData* QQuickWanderAffector::getData(int idx) d->y_vel = 0; d->x_peak = m_xVariance; d->y_peak = m_yVariance; - d->x_var = m_pace * qreal(qrand()) / RAND_MAX; - d->y_var = m_pace * qreal(qrand()) / RAND_MAX; + d->x_var = m_pace * QRandomGenerator::global()->generateDouble(); + d->y_var = m_pace * QRandomGenerator::global()->generateDouble(); m_wanderData.insert(idx, d); return d; @@ -124,7 +125,7 @@ bool QQuickWanderAffector::affectParticle(QQuickParticleData* data, qreal dt) if (m_xVariance != 0.) { if ((d->x_vel > d->x_peak && d->x_var > 0.0) || (d->x_vel < -d->x_peak && d->x_var < 0.0)) { d->x_var = -d->x_var; - d->x_peak = m_xVariance + m_xVariance * qreal(qrand()) / RAND_MAX; + d->x_peak = m_xVariance + m_xVariance * QRandomGenerator::global()->generateDouble(); } d->x_vel += d->x_var * dt; } @@ -133,7 +134,7 @@ bool QQuickWanderAffector::affectParticle(QQuickParticleData* data, qreal dt) if (m_yVariance != 0.) { if ((d->y_vel > d->y_peak && d->y_var > 0.0) || (d->y_vel < -d->y_peak && d->y_var < 0.0)) { d->y_var = -d->y_var; - d->y_peak = m_yVariance + m_yVariance * qreal(qrand()) / RAND_MAX; + d->y_peak = m_yVariance + m_yVariance * QRandomGenerator::global()->generateDouble(); } d->y_vel += d->y_var * dt; } @@ -146,8 +147,8 @@ bool QQuickWanderAffector::affectParticle(QQuickParticleData* data, qreal dt) p->y += dy; return true; */ - qreal dx = dt * m_pace * (2 * qreal(qrand())/RAND_MAX - 1); - qreal dy = dt * m_pace * (2 * qreal(qrand())/RAND_MAX - 1); + qreal dx = dt * m_pace * (2 * QRandomGenerator::global()->generateDouble() - 1); + qreal dy = dt * m_pace * (2 * QRandomGenerator::global()->generateDouble() - 1); qreal newX, newY; switch (m_affectedParameter){ case Position: |