2008年(909)
分类:
2008-05-06 22:06:54
下载本文示例工程
游戏运行效果图如下:
大家好,这是我第一次写这种游戏,有什么不正确的地方希望大家能够指出来,我的这个游戏的图片全部来自网络上面的一个英雄救美的RPG游戏,但是,我下载后发现不能运行,我就用了几天时间自己写了一个比较简单的。这里,我谢谢英雄救美的作者的图片。
在我这里简单的游戏中,我采用了DirectX来编写,主要的函数有bmove(int &zhi)
以下是这个函数的代码部分:
pBBuf->BltFast( 0 , 0 , pOPla[zai], CRect(0,0,640,480) , DDBLTFAST_WAIT); if (tab) { //如果按了空格键就要显示主人公的话 pBBuf->BltFast(0, 380, pOPla[13], CRect(0, 0, 640,100), DDBLTFAST_WAIT|DDBLTFAST_SRCCOLORKEY); pBBuf->BltFast(5, 385, pOPla[14], CRect(0, 0, 85,85), DDBLTFAST_WAIT|DDBLTFAST_SRCCOLORKEY); } if ((whero.x1 - 30 == hero.x1) && (whero.y1 == hero.y1)) { numx = 1; //如果主人公和游戏中的人物在一起了,就返回。 whero.x1 = 10; return; } if ((whero.x1 30 == hero.x1) && (whero.y1 == hero.y1)) { numx = 1; if (num == 20) { numx = 0; } whero.x1 -= 10; return; } if (hero.y1 > whero.y1) { pBBuf->BltFast(whero.x1, whero.y1, pOPla[zhi], CRect(0,0,40,40), DDBLTFAST_WAIT|DDBLTFAST_SRCCOLORKEY); pBBuf->BltFast(hero.x1, hero.y1, pOPla[hero.control], CRect(0,0,40,40), DDBLTFAST_WAIT|DDBLTFAST_SRCCOLORKEY); } else if (hero.y1 <= whero.y1) { pBBuf->BltFast(hero.x1, hero.y1, pOPla[hero.control], CRect(0,0,40,40), DDBLTFAST_WAIT|DDBLTFAST_SRCCOLORKEY); pBBuf->BltFast(whero.x1, 150, pOPla[zhi], CRect(0,0,40,40), DDBLTFAST_WAIT|DDBLTFAST_SRCCOLORKEY); } pPSur->Flip(NULL, DDFLIP_WAIT); }还有一些比较重要的函数,在ontimer()函数中来实现。具体可以看代码。