ui_particle_view
ui_particle_view 模块提供粒子特效视图组件,支持粒子发射器与粒子单元的动画渲染。
Class Summary
OHOS::Particle
粒子渲染单元,承载单个粒子的生命周期、缩放、透明度、速度与旋转属性
- 构造:无
-
成员函数:
接口名称 功能简述 SetLife 设置粒子当前生命值 SetMaxLife 设置粒子最大生命值 SetFinalScale 设置粒子终止缩放比例 SetAlpha 设置粒子起始和终止透明度 SetVelocity 设置粒子 X/Y 方向速度 GetLife 获取粒子当前生命值 GetMaxLife 获取粒子最大生命值 GetStartAlpha 获取粒子起始透明度 GetFinalAlpha 获取粒子终止透明度 GetScaleX 获取粒子 X 方向缩放比例 GetScaleY 获取粒子 Y 方向缩放比例 GetVelocityX 获取粒子 X 方向速度 GetVelocityY 获取粒子 Y 方向速度 GetSpin 获取粒子旋转角度 SetSpin 设置粒子旋转角度 -
使用包含头文件:
#include "components/particle.h" - 声明头文件:
middleware/services/gui/uikit/proprietary/include/components/particle.h - 公有运算符:无
- 继承关系:UIImageView
- 嵌套类型:无
- 模板形参:无
OHOS::ParticleCell
粒子属性配置单元,定义粒子发射参数并管理粒子实例
- 构造:无
-
成员函数:
接口名称 功能简述 SetSrc 设置粒子图片源 SetSize 设置粒子初始尺寸 SetSizeRange 设置粒子尺寸随机范围 SetPos 设置粒子初始位置 SetPosRange 设置粒子位置随机范围 SetLifetime 设置粒子生命周期 SetLifetimeRange 设置粒子生命周期随机范围 SetBirthRate 设置每周期粒子出生率 SetVelocity 设置粒子发射方向速度 SetVelocityRange 设置粒子速度随机范围 SetAcceleration 设置粒子加速度 SetEmissionAngle 设置粒子发射角度 SetEmissionRange 设置粒子发射角度随机范围 SetScale 设置粒子缩放比例 SetScaleRange 设置粒子缩放随机范围 SetScaleFunc 设置缩放缓动函数 SetAlpha 设置粒子起始和终止透明度 SetAlphaRange 设置粒子透明度随机范围 SetAlphaFunc 设置透明度缓动函数 SetSpin 设置粒子旋转角度和旋转模式 SetSpinRange 设置粒子旋转角度随机范围 HasParticles 查询是否存在活跃粒子 SetTotalPeriod 设置粒子单元总周期数 GetTotalPeriod 获取粒子单元总周期数 GetCurrentPeriod 获取粒子单元当前周期数 GetSrc 获取粒子图片源信息 ClearParticles 清除所有粒子实例 -
使用包含头文件:
#include "components/particle_cell.h" - 声明头文件:
middleware/services/gui/uikit/proprietary/include/components/particle_cell.h - 公有运算符:无
- 继承关系:HeapBase
- 嵌套类型:SpinMode(粒子旋转模式枚举)
- 模板形参:无
OHOS::UIParticleView
粒子动画视图容器,管理粒子单元生命周期与动画控制
- 构造:
UIParticleView(uint32_t time, bool repeat) -
成员函数:
接口名称 功能简述 UIParticleView 指定时长和重复模式的构造函数 CreateParticleCell 创建粒子配置单元 SetBirthRateRatio 设置出生率全局比率 SetLifetimeRatio 设置生命周期全局比率 SetScaleRatio 设置缩放全局比率 SetVelocityRatio 设置速度全局比率 GetBirthRateRatio 获取出生率全局比率 GetLifetimeRatio 获取生命周期全局比率 GetScaleRatio 获取缩放全局比率 GetVelocityRatio 获取速度全局比率 SetTime 设置粒子动画时长 GetTime 获取粒子动画时长 IsRepeat 查询动画是否重复播放 Start 启动粒子动画 Pause 暂停粒子动画 Resume 恢复粒子动画 Stop 停止粒子动画并清除粒子 GetState 获取粒子动画状态 ClearParticles 清除所有粒子单元及粒子 GetViewType 获取视图类型标识 -
使用包含头文件:
#include "components/ui_particle_view.h" - 声明头文件:
middleware/services/gui/uikit/proprietary/include/components/ui_particle_view.h - 公有运算符:无
- 继承关系:UIViewGroup
- 嵌套类型:无
- 模板形参:无
Functions
OHOS::Particle
SetLife
void SetLife(int16_t life)
功能说明
- 核心用途:设置粒子当前生命值
- 设计目的:控制粒子存活状态,生命值递减至零时粒子消亡
- 使用场景:在粒子更新过程中设置或重置粒子生命值
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| life | int16_t | 粒子当前生命值 | ≥ 0 |
SetMaxLife
void SetMaxLife(int16_t maxLife)
功能说明
- 核心用途:设置粒子最大生命值
- 设计目的:定义粒子生命上限,用于计算生命周期进度
- 使用场景:在粒子创建时配置最大生命值
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| maxLife | int16_t | 粒子最大生命值 | ≥ 0 |
SetFinalScale
void SetFinalScale(float scaleX, float scaleY)
功能说明
- 核心用途:设置粒子在 X 和 Y 方向上的终止缩放比例
- 设计目的:控制粒子生命结束时的目标缩放值
- 使用场景:配置粒子缩放动画的终止缩放比例
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| scaleX | float | X 方向终止缩放比例,默认值为 1.0f | > 0.0f |
| scaleY | float | Y 方向终止缩放比例,默认值为 1.0f | > 0.0f |
SetAlpha
void SetAlpha(int16_t startAlpha, int16_t finalAlpha)
功能说明
- 核心用途:设置粒子起始透明度和终止透明度
- 设计目的:控制粒子生命周期内的透明度渐变动画
- 使用场景:配置粒子从出现到消亡的透明度渐变效果
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| startAlpha | int16_t | 起始透明度,默认值为 0 | [0, 255] |
| finalAlpha | int16_t | 终止透明度,默认值为 0 | [0, 255] |
SetVelocity
void SetVelocity(float velocityX, float velocityY)
功能说明
- 核心用途:设置粒子在 X 和 Y 方向上的速度
- 设计目的:控制粒子每帧移动的像素偏移量
- 使用场景:配置粒子运动速度以实现不同运动效果
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| velocityX | float | X 方向速度,默认值为 0.0f | - |
| velocityY | float | Y 方向速度,默认值为 0.0f | - |
GetLife
int16_t GetLife()
功能说明
- 核心用途:获取粒子当前生命值
- 设计目的:提供粒子存活状态查询能力
- 使用场景:判断粒子是否仍然存活
返回值
- 返回类型:
int16_t
返回粒子当前生命值
| 返回值 | 触发场景 |
|---|---|
| int16_t | 当前生命值 |
GetMaxLife
int16_t GetMaxLife()
功能说明
- 核心用途:获取粒子最大生命值
- 设计目的:提供粒子生命上限查询能力
- 使用场景:计算粒子生命周期进度
返回值
- 返回类型:
int16_t
返回粒子最大生命值
| 返回值 | 触发场景 |
|---|---|
| int16_t | 最大生命值 |
GetStartAlpha
int16_t GetStartAlpha()
功能说明
- 核心用途:获取粒子起始透明度
- 设计目的:提供起始透明度查询能力
- 使用场景:查询粒子透明度渐变的起始值
返回值
- 返回类型:
int16_t
返回起始透明度
| 返回值 | 触发场景 |
|---|---|
| int16_t | 起始透明度,范围 [0, 255] |
GetFinalAlpha
int16_t GetFinalAlpha()
功能说明
- 核心用途:获取粒子终止透明度
- 设计目的:提供终止透明度查询能力
- 使用场景:查询粒子透明度渐变的终止值
返回值
- 返回类型:
int16_t
返回终止透明度
| 返回值 | 触发场景 |
|---|---|
| int16_t | 终止透明度,范围 [0, 255] |
GetScaleX
float GetScaleX()
功能说明
- 核心用途:获取粒子 X 方向缩放比例
- 设计目的:提供 X 方向缩放查询能力
- 使用场景:查询粒子当前 X 方向缩放配置
返回值
- 返回类型:
float
返回 X 方向缩放比例
| 返回值 | 触发场景 |
|---|---|
| float | X 方向缩放比例,默认 1.0f |
GetScaleY
float GetScaleY()
功能说明
- 核心用途:获取粒子 Y 方向缩放比例
- 设计目的:提供 Y 方向缩放查询能力
- 使用场景:查询粒子当前 Y 方向缩放配置
返回值
- 返回类型:
float
返回 Y 方向缩放比例
| 返回值 | 触发场景 |
|---|---|
| float | Y 方向缩放比例,默认 1.0f |
GetVelocityX
float GetVelocityX()
功能说明
- 核心用途:获取粒子 X 方向速度
- 设计目的:提供 X 方向速度查询能力
- 使用场景:查询粒子当前 X 方向运动速度
返回值
- 返回类型:
float
返回 X 方向速度
| 返回值 | 触发场景 |
|---|---|
| float | X 方向速度,默认 0.0f |
GetVelocityY
float GetVelocityY()
功能说明
- 核心用途:获取粒子 Y 方向速度
- 设计目的:提供 Y 方向速度查询能力
- 使用场景:查询粒子当前 Y 方向运动速度
返回值
- 返回类型:
float
返回 Y 方向速度
| 返回值 | 触发场景 |
|---|---|
| float | Y 方向速度,默认 0.0f |
GetSpin
float GetSpin()
功能说明
- 核心用途:获取粒子旋转角度
- 设计目的:提供旋转角度查询能力
- 使用场景:查询粒子当前旋转配置
返回值
- 返回类型:
float
返回旋转角度
| 返回值 | 触发场景 |
|---|---|
| float | 旋转角度,默认 0.0f |
SetSpin
void SetSpin(float spin)
功能说明
- 核心用途:设置粒子旋转角度
- 设计目的:控制粒子旋转效果
- 使用场景:配置粒子旋转动画角度
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| spin | float | 旋转角度 | - |
OHOS::ParticleCell
SetSrc
void SetSrc(const ImageInfo* src)
功能说明
- 核心用途:设置粒子的图片源,决定粒子渲染时使用的图像
- 设计目的:为粒子提供可视化外观,支持通过 ImageInfo 指定图像数据
- 使用场景:在创建 ParticleCell 后、启动动画前配置粒子图像
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| src | const ImageInfo* | 入参只读指针,指向图像信息结构体,不修改所指对象 | 非 nullptr |
SetSize
void SetSize(int16_t width, int16_t height)
功能说明
- 核心用途:设置粒子的初始宽度和高度
- 设计目的:控制粒子渲染时的基础尺寸
- 使用场景:在配置粒子属性时指定粒子显示大小
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| width | int16_t | 粒子初始宽度,单位像素 | ≥ 1 |
| height | int16_t | 粒子初始高度,单位像素 | ≥ 1 |
SetSizeRange
void SetSizeRange(int16_t range)
功能说明
- 核心用途:设置粒子尺寸的随机偏移范围
- 设计目的:使粒子尺寸产生随机差异,增强视觉效果多样性
- 使用场景:需要粒子大小产生自然随机变化时配置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| range | int16_t | 尺寸随机偏移范围,默认值为 0 | ≥ 0 |
SetPos
void SetPos(int16_t x, int16_t y)
功能说明
- 核心用途:设置粒子的初始发射位置坐标
- 设计目的:定义粒子产生的基准坐标点
- 使用场景:在父视图坐标系中指定粒子发射原点
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| x | int16_t | 粒子初始 X 坐标,单位像素 | 父视图坐标系范围内 |
| y | int16_t | 粒子初始 Y 坐标,单位像素 | 父视图坐标系范围内 |
SetPosRange
void SetPosRange(int16_t xRange, int16_t yRange)
功能说明
- 核心用途:设置粒子发射位置的随机偏移范围
- 设计目的:使粒子在基准位置附近随机分布,模拟散射效果
- 使用场景:需要粒子从一定范围内随机位置产生时配置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| xRange | int16_t | X 坐标随机偏移范围,默认值为 0 | ≥ 0 |
| yRange | int16_t | Y 坐标随机偏移范围,默认值为 0 | ≥ 0 |
SetLifetime
void SetLifetime(int16_t lifetime)
功能说明
- 核心用途:设置粒子的生命周期,即粒子从产生到消亡经历的帧数
- 设计目的:控制粒子存活时长,影响动画持续时间
- 使用场景:配置粒子存活时长以控制动画效果节奏
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| lifetime | int16_t | 粒子生命周期帧数 | ≥ 1 |
SetLifetimeRange
void SetLifetimeRange(int16_t range)
功能说明
- 核心用途:设置粒子生命周期的随机偏移范围
- 设计目的:使粒子生命周期产生随机差异,避免同步消亡
- 使用场景:需要粒子自然消散效果时配置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| range | int16_t | 生命周期随机偏移范围,默认值为 0 | ≥ 0 |
SetBirthRate
void SetBirthRate(int16_t birthRate)
功能说明
- 核心用途:设置每个周期产生的粒子数量
- 设计目的:控制粒子产生密度,影响动画粒子总数
- 使用场景:配置粒子发射密度以实现不同视觉效果
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| birthRate | int16_t | 每周期产生的粒子数,默认值为 1 | ≥ 1 |
SetVelocity
void SetVelocity(float velocity)
功能说明
- 核心用途:设置粒子在发射方向上的速度
- 设计目的:控制粒子移动速度,影响粒子运动轨迹范围
- 使用场景:配置粒子发射速度以实现不同运动效果
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| velocity | float | 粒子发射方向速度,默认值为 0.0f | ≥ 0.0f |
SetVelocityRange
void SetVelocityRange(float range)
功能说明
- 核心用途:设置粒子速度的随机偏移范围
- 设计目的:使粒子速度产生随机差异,模拟自然运动
- 使用场景:需要粒子速度随机变化时配置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| range | float | 速度随机偏移范围,默认值为 0.0f | ≥ 0.0f |
SetAcceleration
void SetAcceleration(float x, float y)
功能说明
- 核心用途:设置粒子在 X 和 Y 方向上的加速度
- 设计目的:模拟物理加速效果,如重力或风力
- 使用场景:配置粒子受外力影响的加速度,如模拟重力下落
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| x | float | X 方向加速度,默认值为 0.0f | - |
| y | float | Y 方向加速度,默认值为 0.0f | - |
SetEmissionAngle
void SetEmissionAngle(float angle)
功能说明
- 核心用途:设置粒子发射角度
- 设计目的:控制粒子发射方向,3 点钟方向为 0 度,顺时针递增
- 使用场景:配置粒子发射方向以实现定向喷射效果
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| angle | float | 发射角度,3 点钟方向为 0,顺时针方向递增 | [0, 360] |
SetEmissionRange
void SetEmissionRange(float range)
功能说明
- 核心用途:设置粒子发射角度的随机偏移范围
- 设计目的:使粒子在基准发射角度附近随机散射
- 使用场景:需要粒子呈扇形或圆锥形发射时配置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| range | float | 发射角度随机偏移范围,默认值为 0.0f | ≥ 0.0f |
SetScale
void SetScale(float scaleX, float scaleY)
功能说明
- 核心用途:设置粒子在 X 和 Y 方向上的缩放比例
- 设计目的:控制粒子从初始尺寸到最终尺寸的目标缩放值
- 使用场景:配置粒子缩放动画的终止缩放比例
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| scaleX | float | X 方向缩放比例,默认值为 1.0f | > 0.0f |
| scaleY | float | Y 方向缩放比例,默认值为 1.0f | > 0.0f |
SetScaleRange
void SetScaleRange(float range)
功能说明
- 核心用途:设置粒子缩放比例的随机偏移范围
- 设计目的:使粒子缩放产生随机差异,增强视觉多样性
- 使用场景:需要粒子大小呈现随机变化时配置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| range | float | 缩放随机偏移范围,默认值为 0.0f | ≥ 0.0f |
SetScaleFunc
void SetScaleFunc(EasingFunc func)
功能说明
- 核心用途:设置缩放动画的缓动函数
- 设计目的:指定缩放随时间变化的速率曲线
- 使用场景:需要非线性缩放效果(如渐入渐出)时配置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| func | EasingFunc | 缓动函数指针,默认值为 EasingEquation::LinearEaseNone | 非 nullptr |
SetAlpha
void SetAlpha(int16_t startAlpha, int16_t finalAlpha)
功能说明
- 核心用途:设置粒子起始透明度和终止透明度
- 设计目的:控制粒子生命周期内的透明度渐变动画
- 使用场景:配置粒子从出现到消亡的透明度渐变效果
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| startAlpha | int16_t | 起始透明度,默认值为 OPA_OPAQUE(255) | [0, 255] |
| finalAlpha | int16_t | 终止透明度,默认值为 0 | [0, 255] |
SetAlphaRange
void SetAlphaRange(int16_t range)
功能说明
- 核心用途:设置粒子透明度的随机偏移范围
- 设计目的:使粒子透明度产生随机差异
- 使用场景:需要粒子透明度呈现随机变化时配置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| range | int16_t | 透明度随机偏移范围,默认值为 0 | ≥ 0 |
SetAlphaFunc
void SetAlphaFunc(EasingFunc func)
功能说明
- 核心用途:设置透明度动画的缓动函数
- 设计目的:指定透明度随时间变化的速率曲线
- 使用场景:需要非线性透明度渐变效果时配置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| func | EasingFunc | 缓动函数指针,默认值为 EasingEquation::LinearEaseNone | 非 nullptr |
SetSpin
void SetSpin(float spin, ParticleCell::SpinMode mode = ParticleCell::SpinMode::CENTER)
功能说明
- 核心用途:设置粒子旋转角度和旋转模式
- 设计目的:控制粒子旋转效果及旋转中心
- 使用场景:配置粒子旋转动画,支持绕中心、对角线等旋转模式
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| spin | float | 旋转角度 | - |
| mode | ParticleCell::SpinMode | 旋转模式,默认值为 CENTER | CENTER / DIAGONAL_LR / DIAGONAL_RL |
SetSpinRange
void SetSpinRange(float range)
功能说明
- 核心用途:设置粒子旋转角度的随机偏移范围
- 设计目的:使粒子旋转角度产生随机差异
- 使用场景:需要粒子旋转呈现随机变化时配置
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| range | float | 旋转角度随机偏移范围,默认值为 0.0f | ≥ 0.0f |
HasParticles
bool HasParticles()
功能说明
- 核心用途:查询当前粒子单元是否还有活跃粒子
- 设计目的:提供粒子存在状态查询能力
- 使用场景:判断粒子单元是否需要继续更新
返回值
- 返回类型:
bool
返回粒子存在状态
| 返回值 | 触发场景 |
|---|---|
| true | 存在活跃粒子 |
| false | 无活跃粒子 |
SetTotalPeriod
void SetTotalPeriod(int16_t period)
功能说明
- 核心用途:设置粒子单元产生粒子的总周期数
- 设计目的:控制粒子发射的持续时间,PERIOD_FOREVER(-1) 表示永久产生
- 使用场景:配置粒子发射持续时长,或设为永久模式
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| period | int16_t | 总周期数 | ≥ 0 或 PERIOD_FOREVER(-1) |
GetTotalPeriod
int16_t GetTotalPeriod()
功能说明
- 核心用途:获取粒子单元的总周期数
- 设计目的:提供总周期数查询能力
- 使用场景:查询粒子发射的配置周期
返回值
- 返回类型:
int16_t
返回总周期数
| 返回值 | 触发场景 |
|---|---|
| ≥ 0 | 配置的总周期数 |
| -1 | PERIOD_FOREVER,永久产生粒子 |
GetCurrentPeriod
int16_t GetCurrentPeriod()
功能说明
- 核心用途:获取粒子单元的当前周期数
- 设计目的:提供当前进度查询能力
- 使用场景:监控粒子发射进度
返回值
- 返回类型:
int16_t
返回当前周期数
| 返回值 | 触发场景 |
|---|---|
| ≥ 0 | 当前已执行的周期数 |
GetSrc
const ImageInfo* GetSrc()
功能说明
- 核心用途:获取粒子图片源信息
- 设计目的:提供图片源查询能力
- 使用场景:查询当前粒子配置的图像数据
返回值
- 返回类型:
const ImageInfo*
返回粒子图片源指针
| 返回值 | 触发场景 |
|---|---|
| const ImageInfo* | 指向内部 ImageInfo 的只读指针 |
ClearParticles
void ClearParticles()
功能说明
- 核心用途:清除粒子单元中的所有粒子实例
- 设计目的:释放粒子资源,重置粒子列表
- 使用场景:停止粒子发射或重置粒子状态时调用
OHOS::UIParticleView
UIParticleView(time, repeat)
UIParticleView(uint32_t time, bool repeat)
功能说明
- 核心用途:构造 UIParticleView 对象,指定动画时长和重复模式
- 设计目的:提供带参数的构造方式,允许控制动画播放行为
- 使用场景:需要自定义动画时长和是否重复播放时使用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| time | uint32_t | 动画时长,单位毫秒 | > 0 |
| repeat | bool | 是否重复播放动画 | true / false |
CreateParticleCell
ParticleCell* CreateParticleCell()
功能说明
- 核心用途:创建一个粒子配置单元并由 UIParticleView 管理
- 设计目的:为粒子动画添加一组粒子属性配置
- 使用场景:在粒子视图中添加新的粒子发射组,每组可配置不同的粒子效果
返回值
- 返回类型:
ParticleCell*
返回创建的粒子配置单元指针
| 返回值 | 触发场景 |
|---|---|
| ParticleCell* | 创建成功,返回粒子单元指针 |
| nullptr | 创建失败 |
SetBirthRateRatio
void SetBirthRateRatio(float ratio)
功能说明
- 核心用途:设置所有粒子单元出生率的全局比率
- 设计目的:通过全局比率统一缩放所有粒子单元的出生率
- 使用场景:需要动态调整粒子产生密度时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ratio | float | 出生率全局比率,默认值为 1.0f | > 0.0f |
SetLifetimeRatio
void SetLifetimeRatio(float ratio)
功能说明
- 核心用途:设置所有粒子单元生命周期的全局比率
- 设计目的:通过全局比率统一缩放所有粒子单元的生命周期
- 使用场景:需要动态调整粒子存活时长时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ratio | float | 生命周期全局比率,默认值为 1.0f | > 0.0f |
SetScaleRatio
void SetScaleRatio(float ratio)
功能说明
- 核心用途:设置所有粒子单元缩放系数的全局比率
- 设计目的:通过全局比率统一缩放所有粒子单元的缩放系数
- 使用场景:需要动态调整粒子大小比例时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ratio | float | 缩放全局比率,默认值为 1.0f | > 0.0f |
SetVelocityRatio
void SetVelocityRatio(float ratio)
功能说明
- 核心用途:设置所有粒子单元速度的全局比率
- 设计目的:通过全局比率统一缩放所有粒子单元的速度
- 使用场景:需要动态调整粒子运动速度时调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| ratio | float | 速度全局比率,默认值为 1.0f | > 0.0f |
GetBirthRateRatio
float GetBirthRateRatio()
功能说明
- 核心用途:获取出生率全局比率
- 设计目的:提供出生率比率查询能力
- 使用场景:查询当前出生率缩放配置
返回值
- 返回类型:
float
返回出生率全局比率
| 返回值 | 触发场景 |
|---|---|
| float | 当前出生率全局比率,默认 1.0f |
GetLifetimeRatio
float GetLifetimeRatio()
功能说明
- 核心用途:获取生命周期全局比率
- 设计目的:提供生命周期比率查询能力
- 使用场景:查询当前生命周期缩放配置
返回值
- 返回类型:
float
返回生命周期全局比率
| 返回值 | 触发场景 |
|---|---|
| float | 当前生命周期全局比率,默认 1.0f |
GetScaleRatio
float GetScaleRatio()
功能说明
- 核心用途:获取缩放全局比率
- 设计目的:提供缩放比率查询能力
- 使用场景:查询当前缩放缩放配置
返回值
- 返回类型:
float
返回缩放全局比率
| 返回值 | 触发场景 |
|---|---|
| float | 当前缩放全局比率,默认 1.0f |
GetVelocityRatio
float GetVelocityRatio()
功能说明
- 核心用途:获取速度全局比率
- 设计目的:提供速度比率查询能力
- 使用场景:查询当前速度缩放配置
返回值
- 返回类型:
float
返回速度全局比率
| 返回值 | 触发场景 |
|---|---|
| float | 当前速度全局比率,默认 1.0f |
SetTime
void SetTime(uint32_t time)
功能说明
- 核心用途:设置粒子动画时长
- 设计目的:控制粒子动画单次播放持续时间
- 使用场景:动态调整动画播放时长
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| time | uint32_t | 动画时长,单位毫秒 | > 0 |
GetTime
uint32_t GetTime()
功能说明
- 核心用途:获取粒子动画时长
- 设计目的:提供动画时长查询能力
- 使用场景:查询当前动画播放时长配置
返回值
- 返回类型:
uint32_t
返回动画时长
| 返回值 | 触发场景 |
|---|---|
| uint32_t | 当前动画时长,单位毫秒 |
IsRepeat
bool IsRepeat()
功能说明
- 核心用途:查询粒子动画是否重复播放
- 设计目的:提供重复模式查询能力
- 使用场景:判断动画是否设置为循环播放
返回值
- 返回类型:
bool
返回重复播放标志
| 返回值 | 触发场景 |
|---|---|
| true | 动画设置为重复播放 |
| false | 动画设置为单次播放 |
Start
void Start()
功能说明
- 核心用途:启动粒子动画
- 设计目的:触发粒子发射和动画更新
- 使用场景:配置完粒子属性后启动动画
Pause
void Pause()
功能说明
- 核心用途:暂停粒子动画
- 设计目的:暂停粒子更新,保留当前粒子状态
- 使用场景:需要临时暂停动画时调用
Resume
void Resume()
功能说明
- 核心用途:恢复粒子动画
- 设计目的:从暂停状态恢复粒子更新
- 使用场景:在 Pause 后恢复动画播放
Stop
void Stop()
功能说明
- 核心用途:停止粒子动画并清除所有粒子
- 设计目的:终止动画并清理粒子资源
- 使用场景:彻底终止粒子动画时调用
GetState
uint8_t GetState()
功能说明
- 核心用途:获取粒子动画当前状态
- 设计目的:提供动画状态查询能力
- 使用场景:监控动画运行状态
返回值
- 返回类型:
uint8_t
返回动画状态值
| 返回值 | 触发场景 |
|---|---|
| uint8_t | 当前动画状态 |
ClearParticles
void ClearParticles()
功能说明
- 核心用途:清除所有粒子单元及粒子实例
- 设计目的:释放全部粒子资源,重置粒子视图
- 使用场景:重置粒子视图或销毁前清理资源
GetViewType
UIViewType GetViewType() const override
功能说明
- 核心用途:获取视图类型标识
- 设计目的:返回 UI_PARTICLE_VIEW 类型,用于视图类型辨识
- 使用场景:在视图遍历或类型判断时使用
返回值
- 返回类型:
UIViewType
返回视图类型
| 返回值 | 触发场景 |
|---|---|
| UI_PARTICLE_VIEW | 当前视图为粒子视图类型 |
Enumerations
ParticleCell::SpinMode
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| CENTER | 0 | 绕粒子中心旋转 |
| DIAGONAL_LR | 1 | 绕从左上到右下对角线旋转 |
| DIAGONAL_RL | 2 | 绕从右上到左下对角线旋转 |