prop.cpp

来自「Win32项目,类似坦克大战的游戏"忘记喧嚣". 游戏的各系统完整,闪屏,道具」· C++ 代码 · 共 59 行

CPP
59
字号
#include ".\prop.h"

Prop::Prop(HDC hdc, HDC mdc, HDC bufdc)
{
	p_hdc = hdc;
	p_mdc = mdc;
	p_bufdc = bufdc;
	p_propMap  = (HBITMAP)::LoadImage(NULL, "../res/graphics/prop.bmp", IMAGE_BITMAP, 384, 40, LR_LOADFROMFILE);
	::GetObject(p_propMap,sizeof(p_bitmap),&p_bitmap);

	p_propMode = -1;
	p_point.x = 0;
	p_point.y = 0;
	p_width = p_bitmap.bmWidth/8;
	p_high  = p_bitmap.bmHeight;
	p_live = false;
	p_show = false;
	srand(::timeGetTime());

	CreateProp();
}

Prop::~Prop(void)
{
	::DeleteDC(p_bufdc);
	::DeleteDC(p_mdc);
	::DeleteDC(p_hdc);
	::DeleteObject(p_propMap);
}

void Prop::CreateProp(void)
{
	p_propMode = rand()%8;
	p_point.x = 60 + rand()%480;
	p_point.y = 30 + rand()%440;	
	SetRect(p_point);
}

void Prop::SetRect(POINT propPoint)
{
	p_rect.left = propPoint.x;
	p_rect.top = propPoint.y;
	p_rect.right = p_rect.left + p_width;
	p_rect.bottom = p_rect.top + p_high;
}

int Prop::getPropMode(void)
{
	return p_propMode;
}

void Prop::ShowProp(void)
{
	if (p_propMode>=0 && p_propMode<=7 && p_live && p_show)
	{
		::SelectObject(p_mdc, p_propMap);	
		::TransparentBlt(p_bufdc,p_point.x, p_point.y, 48, 40, p_mdc, p_propMode*48, 0, 48, 40, RGB(255,0,255));
	}
}

⌨️ 快捷键说明

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