📄 fadeimage.cpp
字号:
/**
* File : FadeImage.cpp
* Author : Kevin Lynx
* Date : 2007/8/4
*/
#include "stdafx.h"
#include "FadeImage.h"
FadeImage::FadeImage( IVideoDriver *driver, ITexture *texture,
position2d<s32> pos, float speed, float delayTime ) :
mPos( pos )
{
mDriver = driver;
mTexture = texture;
mSpeed = speed;
mAlpha = 0.0f;
mState = FADE_OUT;
mDelayTime = delayTime;
}
FadeImage::~FadeImage()
{
}
bool FadeImage::update( float dt )
{
if( mState == FADE_OUT )
{
mAlpha += mSpeed * dt;
if( mAlpha > 250.0f )
{
mAlpha = 250.0f;
mState = STAY;
mStayTime = mDelayTime;
}
}
else if( mState == FADE_IN )
{
mAlpha -= mSpeed * 2 * dt;
if( mAlpha < 5.0f )
{
mState = FINISHED;
return true;
}
}
else if( mState == STAY )
{
mStayTime -= dt;
if( mStayTime < 0.0f )
{
mState = FADE_IN;
}
}
return false;
}
void FadeImage::render()
{
const dimension2d<s32> &size = mTexture->getSize();
mDriver->draw2DImage( mTexture, mPos, rect<s32>(0,0,size.Width,size.Height), 0,
SColor( s32(mAlpha), 255, 255, 255 ) );
}
void FadeImage::reset()
{
mAlpha = 0.0f;
mState = FADE_OUT;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -