上一篇博客用GDI函数实现推箱子,虽然形象化上有所进步,但在自由度上还是有限制。
于是转用GDI位图,想什么样的形状,就画什么样的形状,
不再受限于绘图函数的束缚,自由自在,所思即所达。
改版后的界面如下图:
代码修改也很简单,在前例的基础上,只是修正了如下代码:
void DrawBox(HDC hdc,int i,int x,int y)
{
SelectObject(mdc,bmpBox);
if(i==0)
{
BitBlt(hdc,x,y,32,32,mdc,i*32,0,SRCCOPY);
}
if(i==1)
{
BitBlt(hdc,x,y,32,32,mdc,i*32,0,SRCCOPY);
}
if(i==3)
{
BitBlt(hdc,x,y,32,32,mdc,(i-1)*32,0,SRCCOPY);
}
if(i==4)
{
BitBlt(hdc,x,y,32,32,mdc,(i-1)*32,0,SRCCOPY);
}
if(i==5)
{
BitBlt(hdc,x,y,32,32,mdc,(i-1)*3