📄 clogo.cpp
字号:
#include "stdafx.h"
CLogo::CLogo( void )
:m_dwLastTime( 0 )
,m_pLogo( NULL )
,m_bIsAdd( true )
{
//状态为初始化
m_sState = STATE_INIT;
//获取接口
m_pRS = (IRenderSystem*)FOXRENDERSYSTEM::GetInstance( CLD_IRENDERSYSTEM );
m_pResMgr = (IResManage*)FOXRENDERSYSTEM::GetInstance( CLD_IRESMANAGE );
//创建资源
m_pLogo = m_pResMgr->CreateSprite( "logo.spr","SprRes/SprRes.pack" );
if( m_pLogo == NULL )
{
MessageBox( NULL,"资源创建失败","LOGO.SPR",MB_OK );
}
}
CLogo::~CLogo( void )
{
//释放资源
SafeRelease( m_pLogo );
//释放接口
SafeRelease( m_pRS );
SafeRelease( m_pResMgr );
}
bool CLogo::Updata( void )
{
while( m_sState != STATE_END )
{
//判断是否有退出消息
if ( !CScene::Updata() )
{
return false;
}
//状态判断,如果为INIT,则初始化
if( m_sState == STATE_INIT )
{
m_sState = STATE_LOOP;
m_dwLastTime = timeGetTime();
m_dwCurNum = 4;
}
//时间更新
if( timeGetTime() - m_dwLastTime > GAME_FPSLIMIT )
{
if( m_bIsAdd )
{
m_dwCurNum += 4;
if( m_dwCurNum > 250 )
{
Sleep(1000);
m_bIsAdd = false;
}
}
else
{
m_dwCurNum -= 4;
}
m_dwLastTime = timeGetTime();
}
//判断是否结束
if( m_dwCurNum < 4 )
{
m_sState = STATE_END;
return true;
}
//渲染
this->Render();
}
return true;
}
void CLogo::Render( void )
{
//场景开始
m_pRS->BeginScene();
//设置ALPHA
m_pLogo->SetAlpha( m_dwCurNum );
//设置坐标
m_pLogo->SetPostion( 0,0 );
//绘制
m_pLogo->Draw( false );
//场景结束
m_pRS->EndScene();
}
void CLogo::PostMessage( DWORD a_dwMsg,char a_chWORD )
{
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -