超级玛丽增强版源代码

上传人:第*** 文档编号:33917189 上传时间:2018-02-19 格式:DOC 页数:25 大小:312KB
返回 下载 相关 举报
超级玛丽增强版源代码_第1页
第1页 / 共25页
超级玛丽增强版源代码_第2页
第2页 / 共25页
超级玛丽增强版源代码_第3页
第3页 / 共25页
超级玛丽增强版源代码_第4页
第4页 / 共25页
超级玛丽增强版源代码_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《超级玛丽增强版源代码》由会员分享,可在线阅读,更多相关《超级玛丽增强版源代码(25页珍藏版)》请在金锄头文库上搜索。

1、1/bitmaptool.h#ifndef _BITMAPTOOL#define _BITMAPTOOL#include filereport.h#define BM_BOTTOM_RIGHT 0#define BM_BOTTOM_CENTER 1#define BM_CENTER 2#define BM_USER 3/class MYBITMAPpublic:MYBITMAP();MYBITMAP();/初始化void Init(HINSTANCE hInstance,int iResource,int row,int col);void SetDevice(HDC hdest,HDC hs

2、rc,int wwin,int hwin);/void SetPos(int istyle,int x,int y);/显示void Draw(DWORD dwRop);void Stretch(int x,int y);void Stretch(int x,int y,int id);void Show(int x,int y);void ShowCenter(int y);void ShowLoop(int left,int top,int right,int bottom,int iframe);void ShowNoBack(int x,int y,int iFrame);void S

3、howNoBackLoop(int x,int y,int iFrame,int iNum);/动画播放void ShowAni();void SetAni(int x,int y);/ FILEREPORT f;HBITMAP hBm;public:/按照行列平均分成几个int inum;int jnum;int width;int height;int screenwidth;int screenheight;HDC hdcdest;HDC hdcsrc;/当前位置int xpos;int ypos;int iStartAni;class MYBKSKY:public MYBITMAPpu

4、blic:MYBKSKY();MYBKSKY();/showvoid DrawRoll(); /循环补空void DrawRollStretch(int x,int y);void DrawRollStretch(int x,int y,int id);void MoveTo(int x,int y);void MoveRoll(int x);/dataint xseparate;#define BM_SQUARE 1class MYANIOBJ:public MYBITMAPpublic:MYANIOBJ();MYANIOBJ();/init listvoid InitAniList(int

5、 *pw,int *ph,int inum,int ismask);void InitAniList(int style,int a,int b);/showvoid DrawItem(int x,int y,int id,int iframe);void DrawItemNoMask(int x,int y,int id,int iframe);/指定宽度void DrawItemNoMaskWidth(int x,int y,int id,int w,int iframe);/自动播放void PlayItem(int x,int y,int id);/int wlist20;int hl

6、ist20;int ylist20;int iframeplay;class MYANIMAGIC:public MYBITMAPpublic:MYANIMAGIC();MYANIMAGIC();/init listvoid InitAniList(int *pw,int *ph,int inum);void SetDevice(HDC hdest,HDC hsrc,HDC htemp);/showvoid DrawItem(int x,int y,int id,int iframe);/int wlist20;int hlist20;int ylist20;HDC hdctemp;class

7、 MYROLE:public MYBITMAPpublic:MYROLE();MYROLE();/initvoid InitRole(int xleft, int xright);void SetLimit(int xleft, int xright);/showvoid Draw();void Draw(int x,int y,int iframe);void ChangeFrame();void SetState(int i);void Move();void Jump();/ANIvoid MoveTo(int x,int y);void MoveOffset(int x,int y);

8、void MoveStepTo(int x,int y);/向目的地移动单位距离void PlayAni();/播放一段动画void SetAni(int istyle);int IsInAni();/是否正在播放动画/dataint iState;int iFrame;int minx;int maxx;/moveint movex;int movey;/ jumpint jumpheight;int jumpx;/方向2int idirec;/动画int iAniBegin;int iparam1;int iAniStyle;#endif/ bitmaptool.cpp/ Finishin

9、g #include stdafx.h#include bitmaptool.h#include gamemap.hextern GAMEMAP gamemap;extern FILEREPORT f1;MYBITMAP:MYBITMAP()MYBITMAP:MYBITMAP()DeleteObject(hBm);void MYBITMAP:Init(HINSTANCE hInstance,int iResource,int row,int col)BITMAP bm;inum=row;jnum=col;hBm=LoadBitmap(hInstance,MAKEINTRESOURCE(iRes

10、ource);GetObject(hBm,sizeof(BITMAP),width=bm.bmWidth/inum;height=bm.bmHeight/jnum;void MYBITMAP:SetDevice(HDC hdest,HDC hsrc,int wwin,int hwin)hdcdest=hdest;hdcsrc=hsrc;screenwidth=wwin;screenheight=hwin;void MYBITMAP:Show(int x,int y)xpos=x;ypos=y;SelectObject(hdcsrc,hBm);BitBlt(hdcdest,xpos,ypos,w

11、idth,height,hdcsrc,0,0,SRCCOPY);void MYBITMAP:ShowCenter(int y)xpos=(screenwidth-width)/2;ypos=y;SelectObject(hdcsrc,hBm);BitBlt(hdcdest,xpos,ypos,width,height,hdcsrc,0,0,SRCCOPY);void MYBITMAP:ShowLoop(int left,int top,int right,int bottom,int iframe)int i,j;SelectObject(hdcsrc,hBm);for(j=top;j=inu

12、m)iStartAni=0;*/void MYBITMAP:SetAni(int x,int y)xpos=x;ypos=y;/*framenow=0;iStartAni=1;*/void MYBITMAP:SetPos(int istyle,int x,int 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)3SelectObject(hdcsrc,hBm);BitBlt(

13、hdcdest,xpos,ypos,width,height,hdcsrc,0,0,dwRop);void MYBITMAP:Stretch(int x,int y)SelectObject(hdcsrc,hBm);StretchBlt(hdcdest,xpos,ypos,width*x,height*y,hdcsrc,0,0,width,height,SRCCOPY);void MYBITMAP:Stretch(int x,int y,int id)SelectObject(hdcsrc,hBm);StretchBlt(hdcdest,xpos,ypos,width*x,height*y,h

14、dcsrc,0,id*height,width,height,SRCCOPY);/ bitmap object animation/MYBKSKY:MYBKSKY()xseparate=0;MYBKSKY:MYBKSKY()void MYBKSKY:MoveTo(int x,int y)xpos=x;ypos=y;void MYBKSKY:MoveRoll(int x)xseparate+=x;xseparate%=width;if(xseparatemaxx)xpos=maxx;void MYROLE:MoveStepTo(int x,int y)if(xposy)ypos=y;/ 去背显示

15、void MYROLE:Draw()if(iAniBegin)PlayAni();elseSelectObject(hdcsrc,hBm);BitBlt(hdcdest,xpos,ypos,width,height/2,hdcsrc,iFrame*width,height/2,SRCAND);BitBlt(hdcdest,xpos,ypos,width,height/2,hdcsrc,iFrame*width,0,SRCPAINT);4void MYROLE:Draw(int x,int y,int frame)SelectObject(hdcsrc,hBm);BitBlt(hdcdest,x,y,width,height/2,hdcsrc,frame*width,height/2,SRCAND);BitBlt(hdcdest,x,y,width,height/2,hdcsrc,frame*width,0,SRCPAINT);void MYROLE:InitRole(int xleft,int xright)iFrame=0;iState=0;maxx=xright;minx=xleft;jumpheight=0;movex=0;movey=0;jumpx=0;idirec=0;iAniBegin=0;void MYROLE:SetLimit(int x

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号