锘??xml version="1.0" encoding="utf-8" standalone="yes"?>m_pID_PROGRESS_Hp->SetValue( (float)(pPlayer->GetHp()*1000)/pPlayer->GetHpMax() );
m_pID_PROGRESS_Mp->SetValue( (float)(pPlayer->GetMp()*1000)/pPlayer->GetMpMax() );
int nHp = m_pID_PROGRESS_Hp->GetValue();
int nHpTail = m_pID_PROGRESS_HpTail->GetValue();
int nMp = m_pID_PROGRESS_Mp->GetValue();
int nMpTail = m_pID_PROGRESS_MpTail->GetValue();
if( nHpTail > nHp )
{
static DWORD dwStep = 0;
dwStep = g_fHpTailSpeed * g_dwLastFrameCostTime;
if( dwStep < 1 )
{
dwStep = 1;
}
nHpTail -= dwStep;
}
else
{
nHpTail = nHp;
}
m_pID_PROGRESS_HpTail->SetValue( nHpTail );
if ( nMpTail > nMp )
{
static DWORD dwStep = 0;
dwStep = g_fMpTailSpeed * g_dwLastFrameCostTime;
if ( dwStep < 1 )
dwStep = 1;
nMpTail -= dwStep;
}
if ( nMpTail < nMp )
nMpTail = nMp;
m_pID_PROGRESS_MpTail->SetValue( nMpTail );
}
搴熻瘽涓嶈 涓婁竴涓畝鍗曠殑浠g爜
#define UI_MOVE_SPEED 1// 璁劇疆縐誨姩鐩爣
void SetMove( int nDstX, int nDstY )
{
m_nMoveToX = nDstX;
m_nMoveToY = nDstY;
m_dwMoveStartTime = TimeGetTime();
}
// 縐誨姩 Updating
if ( m_bMoving )
{
int na = m_nMoveToY - rcReal.top;
int nb = m_nMoveToX - rcReal.left;
int nc = sqrt( ( FLOAT )( na * na ) + ( FLOAT )( nb * nb ) );
int nX = 0;
int nY = 0;
int nMoveDistance = UI_MOVE_SPEED * ( TimeGetTime() - m_dwMoveStartTime );
if ( nMoveDistance >= nc )
{
m_bMoving = false;
nX = m_nMoveToX;
nY = m_nMoveToY;
}
else
{
nX = nMoveDistance * nb / nc + rcReal.left;
nY = nMoveDistance * na / nc + rcReal.top;
}
SetPos( nX, nY );
}
// 鏄劇ずUI 鍙互寮鍚笎闅愭笎鏄?/span>
void SetVisable( bool bVisable , bool bFadeInOrOut = false , int nCurAlpha = 0x88, int nMaxAlpha = 0xFF, int nMinAlpha = 0x00 )
{
m_bVisable = bVisable;
m_nFadeCurColorA = nCurAlpha;
m_bFadeInorFadeOut = bFadeInOrOut;
if ( bVisable )
m_dwFadeStartTime = TimeGetTime();
}
// 娣″叆娣″嚭 Rendering
if ( m_bFadeInorFadeOut )
{
if ( IsVisable() )
{
m_nFadeCurColorA = UI_FADE_SPEED * ( TimeGetTime() - m_dwFadeStartTime );
if ( m_nFadeCurColorA >= m_nMaxFade )
{
m_nFadeCurColorA = m_nMaxFade;
m_bFadeInorFadeOut = false;
}
}
else
{
m_nFadeCurColorA = 0xff - UI_FADE_SPEED * ( TimeGetTime() - m_dwFadeStartTime );
if ( m_nFadeCurColorA <= m_nMinFade )
{
m_nFadeCurColorA = m_nMinFade;
m_bFadeInorFadeOut = false;
}
}
}
鎴戠殑鏂規(guī)硶鏄細(xì)
1..閬嶅巻鍖呰9錛屽皢闇瑕佸彔鍔犵殑鐗╁搧鍙犲姞
2..鍐嶇敤qsort榪涜鎺掑簭 (榪欎釜鏂規(guī)硶闈炲父鐨勫ソ鐢紝灞¤瘯涓嶇埥鍟?浠栬兘灝嗛渶瑕佹帓搴忕殑鏁扮粍閲嶅啓鏁版嵁.hoho~~~)
鎺掑簭鍘熷垯錛?br>
鍏堝垽鏂墿鍝佺被鍨?>鍐嶅垽鏂墿鍝両D->鍐嶅垽鏂墿鍝佹嫢鏈夋暟閲?br>
闇瑕佹敞鎰忕殑闂鏄細(xì)闃叉鐢ㄦ埛閲嶅鐐瑰嚮 涓鐩存帓搴?br>瑙e喅鏂規(guī)硶錛氬彧鏈夋湇鍔″櫒鍥炲鎺掑簭瀹屾垚涔嬪悗錛屽鎴風(fēng)鎵嶈兘鍚戞湇鍔″櫒鍙戦佹帓搴忔秷鎭?br>
鏉ユ嫻嬭瘯鐨勫皬浠g爜