⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fadeimage.cpp

📁 吃豆子游戏源码
💻 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 + -