在While循环中根据变化的条件来控制特效播放开关

时间:2021-03-13 20:40:38

在While循环中根据变化的条件来控制特效播放开关

  在Run()函数中的逻辑需求如下: 判断某个动态变化的条件是否被满足,一旦条件被满足则播放某个特效,一旦不满足停止播放特效,由于每次调用播放特效的函数都会导致特效被重头开始播放,所以播放特效的函数只能被执行一次,多次循环重复执行则影响表现.简单代码实现如下:

bool IsNeedPlayMagic()
{
//To Do ...
}

void PlayMagic()
{
//To Do ...
}

void StopPlayMagic()
{
//To Do ...
}

bool bIsPlayingMagic = false;

void Run()
{
if(IsNeedPlayMagic())
{
if(!bIsPlayingMagic)
{
//每次进来只执行一次
PlayMagic();
}
bIsPlayingMagic = true;
}
else
{
if(bIsPlayingMagic )
{
//每次进来只执行一次
StopPlayMagic();
}
bIsPlayingMagic = false;
}
}