一款简单的RPG游戏
2010-07-25 20:47:03 来源:WEB开发网游戏运行效果图如下:
大家好,这是我第一次写这种游戏,有什么不正确的地方希望大家能够指出来,我的这个游戏的图片全部来自网络上面的一个英雄救美的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()函数中来实现。具体可以看代码。
具体操作是,空格键用来和游戏中的人物对话和显示主人公自己想说的话,用键盘操作主人公的行动。
最后,希望爱好游戏编写的人多和我联系,毕竟我才学习了Directx编程才十多天的的时间。
我的邮箱地址是 :xieyuntian1981@21cn.com
QQ是:109021029
本文配套源码
更多精彩
赞助商链接