📄 myequip.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 + -