应该如何创建一个使用 C++ 补间的接口?例如,我想使用静态函数调用在 5 秒内淡化一张图片,例如:
Graphics::FadeSurface( Surface mySurface, int FrameHeight, int NumOfFrames,
int FadeDirection, double Duration )
我有一个硬编码设置,它为需要执行的每个补间操作创建一个对象。我一直在使用 DeltaTime 变量来跟踪自程序启动以控制逻辑等以来已经过去了多少时间。我已经包含了一个示例(不那么精致)来向您展示我正在尝试做的事情:
示例逻辑循环:
gameLoop( double DeltaTime ){
// ...
// logic
// ...
bool isItDone = otherClass.HaveFiveSecondsElapsed( double DeltaTime );
if( isItDone == true )
exit(1);
// ...
// logic
// ...
}
补间类示例:
other_Class::other_Class(){
InitialTime = 0;
InitialTime_isSet = false;
}
bool other_class::HaveFiveSecondsElapsed( double DeltaTime ){
// Setting InitialTime if it hasn't already been set
if( otherClass.InitialTime_isSet == false ){
otherClass.InitialTime = DeltaTime;
otherClass.InitialTime_isSet = true;
}
bool toReturn = false;
if( DeltaTime - InitialTime > 5 )
toReturn = true;
return toReturn;
}
任何帮助是极大的赞赏。谢谢!