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

📄 myequip.cpp

📁 一个用vc做的挖金子的游戏
💻 CPP
字号:
#include "stdafx.h"
#include "myequip.h"
#include "stdlib.h"

MYEQUIP::MYEQUIP()
{
	memset(IsUsed,0,sizeof(IsUsed));
	gridnow=-1;
}

void MYEQUIP::Init(HINSTANCE hInstance,int iResource,int row,int col)
{
	BITMAP bm;
	inum=row;
	jnum=col;

	hBm=LoadBitmap(hInstance,MAKEINTRESOURCE(iResource));
	GetObject(hBm,sizeof(BITMAP),&bm);

	width=bm.bmWidth/inum;
	height=bm.bmHeight/jnum;
}

void MYEQUIP::SetDC(HDC hdest,HDC hsrc)
{
	hdcdest=hdest;
	hdcsrc=hsrc;
}

void MYEQUIP::ShowFrameLast()
{
	if(gridnow>=0 && gridnow<(inum-1))
	{
		SelectObject(hdcsrc,hBm);
		BitBlt(hdcdest,xpos+gridnow*width,ypos,width,height/2,hdcsrc,(inum-1)*width,height/2,SRCAND);	
		BitBlt(hdcdest,xpos+gridnow*width,ypos,width,height/2,hdcsrc,(inum-1)*width,0,SRCPAINT);	
	}
}

int MYEQUIP::DetectMouseOverGrid(int x,int y)
{
	if( y<xpos || y>(ypos+height/2) || x<xpos ||x>(xpos+(inum-1)*width))
	{
		gridnow=-1;
		return 0;
	}
	
	gridnow=(x-xpos)/width;

	//如果当前的道具已经使用,不再检测该道具
	if(IsUsed[gridnow])
	{
		gridnow=-1;
	}
	return 1;
}

void MYEQUIP::ShowFramesNoBack(int x,int y,int iFrameNum)
{
	int i;
	
	xpos=x;
	ypos=y;
	SelectObject(hdcsrc,hBm);

	for(i=0;i<iFrameNum;i++)
	{
		if(IsUsed[i])
		{
			continue;
		}

		BitBlt(hdcdest,xpos+i*width,ypos,
			width,height/2,hdcsrc,
			i*width,height/2,SRCAND);	
		BitBlt(hdcdest,xpos+i*width,ypos,
			width,height/2,hdcsrc,
			i*width,0,SRCPAINT);	
	}
}

void MYEQUIP::UseEquip()
{
	IsUsed[gridnow]=1;
}

void MYEQUIP::ClearUseFlag()
{
	memset(IsUsed,0,sizeof(IsUsed));
}

⌨️ 快捷键说明

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