定时器: 让材质颜色随机变化
2024年1月7日 2024年1月11日
使用定时器,定时器到期修改材质颜色参数
包含头文件
1#include "TimerManager.h"
定时器描述符
FTimerHandle
通过描述符初始化/停止定时器
添加数据成员
private
1FTimerHandle RandomColorTimer; 2float TimerRate = 3.0f;
添加函数成员
private
- | |
---|---|
InitTimerRandomColor | 初始化定时器描述符 |
OnTimerRandomColor | 定时器到期回调函数 |
1void InitTimerRandomColor(); 2void OnTimerRandomColor();
实现回调函数: 随机材质颜色
OnTimerFired
返回类型void,参数列表为空
1void ASimpleGeometry::OnTimerRandomColor() 2{ 3 const FLinearColor Color = FLinearColor::MakeRandomColor(); 4 if (!StaticMesh) return; 5 UMaterialInstanceDynamic* Material = StaticMesh->CreateAndSetMaterialInstanceDynamic(0); 6 if (Material) 7 { 8 Material->SetVectorParameterValue("Color", Color); 9 } 10}
初始化定时器
- | |
---|---|
AActor::GetWorldTimerManager | 获取定时器管理对象的引用 |
FTimerManager::SetTimer | 初始化定时器 |
1GetWorldTimerManager().SetTimer(RandomColorTimer, this, 2 &ASimpleGeometry::OnTimerRandomColor, 3 TimerRate, true);