1 / 9
文档名称:

游戏开发实验1.doc

格式:doc   大小:515KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

游戏开发实验1.doc

上传人:wxc6688 2022/6/17 文件大小:515 KB

下载得到文件列表

游戏开发实验1.doc

相关文档

文档介绍

文档介绍:实验一:游戏地图的创建与显示
一、实验目的
学****VC++下游戏地图的创建与显示
二、实验仪器
电脑
Virtural Studio  
三、实验原理及过程
菱形地图
通常前一个坐标轴为X坐标,后一个d, UINT message,WPARAM wParam,LPARAM lParam)中的WM_CREATE读取地图文件,该函数是先将文件中的图形文件读取到入口函数WINMAIN的参数hInstance句柄中,然后将消息反馈到消息函数WndProc中,执行case WM_CREATE语句,将hInstance中的信息传送到文件句柄hdcTiles中,这样就实现了文件的读取。
相关代码:
case WM_CREATE:
hInstance= ((LPCREATESTRUCT) lParam)->hInstance ;
hdc=GetDC(hwnd);
hdcMem=CreateCompatibleDC(hdc);
hBitmapMem=CreateCompatibleBitmap(hdc,1024*2,768*2);
SelectObject(hdcMem,hBitmapMem);
{
for (int i=0; i<4;i++){
_tcscpy(szName,TEXT("MAP"));
_itot(i,tempChar,10);
_tcscat(szName,tempChar);
hdcTiles[i]=CreateCompatibleDC(hdc);
hBitmapTiles[i]=LoadBitmap( hInstance,szName);
SelectObject(hdcTiles[i],hBitmapTiles[i]);
}}
InitMap();
playerx=playery=SIZE/2;
break;
 注:playerx=playery=SIZE/2的意思是将开始的位置定在地图的中心
()函数 
相关代码:
int InitMap(){
srand( (unsigned)time( NULL ) );
for (int yi=0; yi<SIZE; yi++){
for (int xi=0; xi<SIZE; xi++){
Data[yi][xi]=rand()%4;}}
return 0;}
执行InitMap函数,即在地图的每一个格子随机添上贴图。在读取文件之后执行WM_PAINT,即可以在地图上画出附上图片。
(hdc)函数
MapDraw是建立整个地图的核心,在输出图像时,使用MapDraw(hdc)中的TransparentBlt()函数将绿色作为透明关键色,即裁去4个角,从而实现菱形图形效果。实现方法为: 
TransparentBlt(hdcMem,sx,sy,TILEWIDE,TILEHIGH,hdcTiles[Data[playerx+i][playery+j]],0,0,TILEWIDE,TILEHIGH,RGB(0,255,0)) 
相关代码:
case WM