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

📄 fighter.cpp

📁 一个小的类似于雷电的射击游戏
💻 CPP
字号:
#include "StdAfx.h"
#include ".\fighter.h"

Fighter::Fighter(Bitmap *bmp)
:Plane(bmp)
{

}

Fighter::Fighter(Bitmap* pBitmap, POINT ptPostion, 
				 POINT ptVelocity, int iZorder,
				 RECT& rcBounds, BOUNDSACTION ba, float speed)
:Plane(pBitmap, ptPostion, ptVelocity, 1, rcBounds, ba, speed)
{

}

Fighter::~Fighter(void)
{
}

void Fighter::Action(ACTION action)
{
	if(m_iLife <= 0)
		return;
	
	float x = 0.0f, y = 0.0f;
	switch (action)
	{
	case GO_LEFT:
		x = -m_fSpeed;
		y = 0;
		m_iCurFrame = 1;
		break;
	case GO_RIGHT:
		x = m_fSpeed;
		y = 0;
		m_iCurFrame = 2;
		break;
	case GO_UP:
		x = 0;
		y = -m_fSpeed;
		m_iCurFrame = 0;
		break;
	case GO_DOWN:
		x = 0;
		y = m_fSpeed;
		m_iCurFrame = 0;
		break;
	case GO_LEFT_UP:
		x = -0.7 * m_fSpeed;
		y = -0.7 * m_fSpeed;
		m_iCurFrame = 1;
		break;
	case GO_LEFT_DOWN:
		x = -0.7 * m_fSpeed;
		y = 0.7 * m_fSpeed;
		m_iCurFrame = 1;
		break;
	case GO_RIGHT_UP:
		x = 0.7 * m_fSpeed;
		y = -0.7 * m_fSpeed;
		m_iCurFrame = 2;
		break;
	case GO_RIGHT_DOWN:
		x = 0.7 * m_fSpeed;
		y = 0.7 * m_fSpeed;
		m_iCurFrame = 2;
		break;
	case STOP_MOVING:
		x = 0;
		y = 0;
		m_iCurFrame = 0;
		break;
	case START_FIRING:
		StartFire();
		break;
	case STOP_FIRING:
		StopFire();
		break;
	//case CHANGE_WEAPON:
	//	ChangeWeapon();
	//	break;
	}
	SetVelocity(x, y);
}

void Fighter::UpdateFrame()
{
	// 覆盖基类函数
	// 战斗机动画由方向键控制,所以什么也不做,
	// 如果继承基类显示动画函数的话,飞机会乱动 -_-!
}

Bullet* Fighter::AddSprite()
{
	Bitmap *pBulletBmp =
		new Bitmap(".\\bullets\\4.bmp", TRUE, RGB(255, 255, 255));
	RECT rcBounds = {0, 0, 480, 640};
	RECT rcPos = GetPosition();
	POINT ptPos;
	ptPos.x = (rcPos.left + rcPos.right - pBulletBmp->GetWidth()) / 2;
	ptPos.y = rcPos.top;
	Bullet *pBullet = NULL;
	pBullet = new Bullet(pBulletBmp, rcBounds, BA_DIE);
	pBullet->SetPosition(ptPos);
	pBullet->SetVelocity(0, -20);
	pBullet->SetAttack(5);
	
	return pBullet;	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -