tbonus.cpp
来自「一个另类的坦克大战源程序」· C++ 代码 · 共 58 行
CPP
58 行
// TBonus.cpp: implementation of the TBonus class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "TBonus.h"
#include "TWorld.h"
EPG TBonus::m_epg_bonus[3];
ESound TBonus::m_sound[1];
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
TBonus::~TBonus()
{
}
TBonus::TBonus(int x, int y, BONUS nBonusType)
:TObject(x,y,CLASS_TBONUS)
{
m_nBonusType = nBonusType ;
m_nCurrentFrame = 0;
m_dwDelayTimer= 100;
}
void TBonus::Draw()
{
POINT p;
p.x = m_nX;
p.y = m_nY;
g_world.LPToDP(p);
WGE_Surface.Blt(m_epg_bonus[m_nBonusType],
m_nCurrentFrame,
p.x,p.y );
}
void TBonus::GetRect(RECT &rc)
{
rc.left = m_nX - m_epg_bonus[m_nBonusType].GetFrame(m_nCurrentFrame)->m_nKeyX;
rc.top = m_nY - m_epg_bonus[m_nBonusType].GetFrame(m_nCurrentFrame)->m_nKeyY;
rc.bottom = rc.top + m_epg_bonus[m_nBonusType].GetFrame(m_nCurrentFrame)->m_dwHeight ;
rc.right = rc.left + m_epg_bonus[m_nBonusType].GetFrame(m_nCurrentFrame)->m_dwWidth ;
}
void TBonus::Move()
{
if(!IsMyTime())
return ;
if(g_world.Player(0)->HitBy(this))
{
Dead();
m_sound[0].Play();
}
++m_nCurrentFrame%=m_epg_bonus[m_nBonusType].GetFrameCount();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?