资源简介
让你了解如何用C++写设计游戏程序,供大家参考学习,前面那个附件上传错误,这个是正确的,
代码片段和文件信息
#include “stdafx.h“
#include “bitmaptool.h“
#include “gamemap.h“
extern GAMEMAP gamemap;
extern FILEREPORT f1;
MYBITMAP::MYBITMAP()
{
}
MYBITMAP::~MYBITMAP()
{
Deleteobject(hBm);
}
void MYBITMAP::Init(HINSTANCE hInstanceint iResourceint rowint col)
{
BITMAP bm;
inum=row;
jnum=col;
hBm=LoadBitmap(hInstanceMAKEINTRESOURCE(iResource));
Getobject(hBmsizeof(BITMAP)&bm);
width=bm.bmWidth/inum;
height=bm.bmHeight/jnum;
}
void MYBITMAP::SetDevice(HDC hdestHDC hsrcint wwinint hwin)
{
hdcdest=hdest;
hdcsrc=hsrc;
screenwidth=wwin;
screenheight=hwin;
}
void MYBITMAP::Show(int xint y)
{
xpos=x;
ypos=y;
Selectobject(hdcsrchBm);
BitBlt(hdcdestxposyposwidthheighthdcsrc00SRCCOPY);
}
void MYBITMAP::ShowCenter(int y)
{
xpos=(screenwidth-width)/2;
ypos=y;
Selectobject(hdcsrchBm);
BitBlt(hdcdestxposyposwidthheighthdcsrc00SRCCOPY);
}
void MYBITMAP::ShowLoop(int leftint topint rightint bottomint iframe)
{
int ij;
Selectobject(hdcsrchBm);
for(j=top;j {
for(i=left;i {
BitBlt(hdcdestijwidthheighthdcsrciframe*width0SRCCOPY);
}
}
}
void MYBITMAP::ShowNoBack(int xint yint iframe)
{
xpos=x;
ypos=y;
Selectobject(hdcsrchBm);
BitBlt(hdcdestxposyposwidthheight/2hdcsrciframe*widthheight/2SRCAND);
BitBlt(hdcdestxposyposwidthheight/2hdcsrciframe*width0SRCPAINT);
}
void MYBITMAP::ShowNoBackLoop(int xint yint iframeint iNum)
{
int i;
xpos=x;
ypos=y;
Selectobject(hdcsrchBm);
for(i=0;i {
BitBlt(hdcdestxpos+i*widthyposwidthheight/2hdcsrciframe*widthheight/2SRCAND);
BitBlt(hdcdestxpos+i*widthyposwidthheight/2hdcsrciframe*width0SRCPAINT);
}
}
void MYBITMAP::ShowAni()
{
/* if(!iStartAni)
return;
Selectobject(hdcsrchBm);
BitBlt(hdcdestxposyposwidthheight/2hdcsrcframenow*widthheight/2SRCAND);
BitBlt(hdcdestxposyposwidthheight/2hdcsrcframenow*width0SRCPAINT);
framenow++;
//播放结束
if(framenow>=inum)
iStartAni=0;
*/
}
void MYBITMAP::SetAni(int xint y)
{
xpos=x;
ypos=y;
/*
framenow=0;
iStartAni=1;
*/
}
void MYBITMAP::SetPos(int istyleint xint y)
{
switch(istyle)
{
case BM_CENTER:
xpos=(screenwidth-width)/2;
ypos=y;
break;
case BM_USER:
xpos=x;
ypos=y;
break;
}
}
void MYBITMAP::Draw(DWORD dwRop)
{
Selectobject(hdcsrchBm);
BitBlt(hdcdestxposyposwidthheighthdcsrc00dwRop);
}
void MYBITMAP::Stretch(int xint y)
{
Selectobject(hdcsrchBm);
StretchBlt(hdcdestxposyposwidth*xheight*y
hdcsrc00widthheight
SRCCOPY);
}
void MYBITMAP::Stretch(int xint yint id)
{
Selectobject(hdcsrchBm);
StretchBlt(hdcdestxposyposwidth*xheight*y
hdcsrc0id*height
widthheight
SRCCOPY);
}
//////////////////// bitmap button //////////////////////
MYBITMAPBTN::MY
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8210 2008-06-15 11:18 超级玛丽源码\bitmaptool.cpp
文件 2682 2008-06-15 11:17 超级玛丽源码\bitmaptool.h
文件 42872 2009-02-14 14:57 超级玛丽源码\Debug\bitmaptool.obj
文件 14550 2009-02-14 15:26 超级玛丽源码\Debug\BuildLog.htm
文件 11721 2009-02-14 14:57 超级玛丽源码\Debug\filereport.obj
文件 38290 2009-02-14 15:26 超级玛丽源码\Debug\gamemap.obj
文件 1834 2008-06-15 12:36 超级玛丽源码\Debug\map\map1.txt
文件 2134016 2009-02-14 15:26 超级玛丽源码\Debug\mario01.exe
文件 146 2009-02-14 14:57 超级玛丽源码\Debug\mario01.exe.em
文件 212 2009-02-14 14:57 超级玛丽源码\Debug\mario01.exe.em
文件 145 2009-02-14 15:26 超级玛丽源码\Debug\mario01.exe.intermediate.manifest
文件 276300 2009-02-14 15:26 超级玛丽源码\Debug\mario01.ilk
文件 43844 2009-02-14 15:26 超级玛丽源码\Debug\mario01.obj
文件 3538944 2009-02-14 14:57 超级玛丽源码\Debug\mario01.pch
文件 2042880 2009-02-14 15:26 超级玛丽源码\Debug\mario01.pdb
文件 1720688 2008-06-15 12:32 超级玛丽源码\Debug\mario01.res
文件 67 2009-02-14 15:26 超级玛丽源码\Debug\mt.dep
文件 82823 2009-02-14 14:57 超级玛丽源码\Debug\StdAfx.obj
文件 8996 2009-02-14 15:26 超级玛丽源码\Debug\texttool.obj
文件 99328 2008-06-15 12:32 超级玛丽源码\Debug\vc60.idb
文件 184320 2008-06-15 12:32 超级玛丽源码\Debug\vc60.pdb
文件 240640 2009-02-14 15:26 超级玛丽源码\Debug\vc80.idb
文件 282624 2009-02-14 15:26 超级玛丽源码\Debug\vc80.pdb
文件 1234 2008-06-08 09:48 超级玛丽源码\filereport.cpp
文件 500 2008-06-08 09:47 超级玛丽源码\filereport.h
文件 14334 2008-06-15 11:27 超级玛丽源码\gamemap.cpp
文件 1738 2008-06-15 11:20 超级玛丽源码\gamemap.h
文件 1834 2008-06-15 12:36 超级玛丽源码\map\map1.txt
文件 1724460 2008-06-15 12:32 超级玛丽源码\mario01.aps
文件 10099 2009-02-14 14:57 超级玛丽源码\mario01.cpp
............此处省略37个文件信息
- 上一篇:mfc经典例程150例
- 下一篇:c++ 17 the complete guide
评论
共有 条评论