WEB开发网      婵犵數濞€濞佳囧磹婵犳艾鐤炬い鎰堕檮閸嬬喐銇勯弽銊с€掗梻鍕閺岋箑螣娓氼垱笑闂佽姘﹂褔婀佸┑鐘诧工妤犲憡绂嶉崜褏纾奸弶鍫涘妼缁楁岸鏌熷畡鐗堝殗闁诡喒鏅犲畷褰掝敃閵堝棙顔忔繝鐢靛仦閸ㄥ爼骞愰幘顔肩;闁规崘绉ぐ鎺撳亹闁绘垶锕╁Λ鍕⒑閹肩偛濡奸悗娑掓櫇缁顓兼径妯绘櫇闂佹寧绻傞弻濠囨晝閸屾稓鍘甸柣搴㈢⊕閿氶柣蹇ョ稻缁绘繃绻濋崘銊т紝闂佽鍨伴崯鏉戠暦閻旂⒈鏁傞柛鈾€鏅欑槐妯衡攽閻愬樊鍤熷┑顔藉劤铻為柛鏇ㄥ墯閸欏繘鏌嶉崫鍕櫣缂佲偓婢跺绠鹃柟瀛樼箘閿涘秵顨ラ悙顏勭伈闁诡喖缍婂畷鎯邦槻婵℃彃顭烽弻娑㈠Ω閵夈儺鍔夌紓浣稿€哥粔褰掑极閹剧粯鏅搁柨鐕傛嫹 ---闂傚倷鐒︾€笛兠洪埡鍛闁跨噦鎷�
开发学院软件开发VC 一款简单的RPG游戏 阅读

一款简单的RPG游戏

 2010-07-25 20:47:03 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姇閻忔氨鈧凹鍓熷娲垂椤曞懎鍓伴梺閫炲苯澧紒澶婄秺瀵濡歌閸嬫捇妫冨☉娆忔殘闂佷紮缍€娴滎剟鍩€椤掑倹鏆柛瀣躬瀹曚即寮借閺嗭箓鏌ㄩ悤鍌涘
核心提示:游戏运行效果图如下:大家好,这是我第一次写这种游戏,一款简单的RPG游戏,有什么不正确的地方希望大家能够指出来,我的这个游戏的图片全部来自网络上面的一个英雄救美的RPG游戏,最后,希望爱好游戏编写的人多和我联系,但是,我下载后发现不能运行

游戏运行效果图如下:

大家好,这是我第一次写这种游戏,有什么不正确的地方希望大家能够指出来,我的这个游戏的图片全部来自网络上面的一个英雄救美的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

本文配套源码

Tags:简单 RPG 游戏

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接