• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > C++开发 > C++与MFC轻松实现:走迷宫小游戏(三)让人物动起来

    C++与MFC轻松实现:走迷宫小游戏(三)让人物动起来

    作者: 分类:C++开发 点击: 4,797 次
    wordpress CMS主题:ssmay主题

       

      前面我在空白窗口中实现了显示人物图片。这一节我们将会给人物添加动作,让他在窗口中运动运动,不能总是那样傻呆着呀。怎样实现,请随着高时银博客一起来看看。

      第1步:将预备好的16张图片放进源文件夹里。

      为什么是16张呢?这16张位图当中,4张是向上的动作,4张是向下的动作,4张是向左的动作,4张是向左的动作。

      第2步:将我们在第2节创建的bitmap指针变量修改成bitmap[4][4]指针数组变量。

      并且将GameWnd.cpp 构造函数中的原有代码:

      bitmap=new CBitmap;

      bitmap->m_hObject=LoadImage(NULL,"1.1.bmp",IMAGE_BITMAP,93,100,LR_LOADFROMFILE);

      mdc=new CDC;CClientDC dc(this);mdc->CreateCompatibleDC(&dc);

      mdc->SelectObject(bitmap);

      修改成下面的代码:

      char ch[8];

      for(int i=0;i<4;i++){

      for(int j=0;j<4;j++)

      {

      sprintf(ch,"%d.%d.bmp",i+1,j+1);

      bitmap[i][j]=new CBitmap;

      bitmap[i][j]->m_hObject=LoadImage(NULL,ch,IMAGE_BITMAP,93,100,LR_LOADFROMFILE);

      }

      }

      mdc=new CDC;

      CClientDC dc(this);

      mdc->CreateCompatibleDC(&dc);

      mdc->SelectObject(bitmap[0][0]);

       

      第3步:右键GameWnd——>add windows message handler (添加信息处理)

      在左边的窗口中选择WM_TIMER,保存,在ONTIMER函数中添加如下代码:

      CClientDC dc(this);if(dir>=4){dir=0;

      }

      if(index==4)

      {

      mdc->SelectObject(bitmap[dir][index]);

      index++;

      }

      else

      {

      index=0;

      dir++;

      mdc->SelectObject(bitmap[dir][index]);

      }

      dc.BitBlt(0,0,93,100,mdc,0,0,SRCCOPY);

      在构造函数前声明变量dir和index  。

      第4步:右键GameWnd——>add windows message handler (添加信息处理)

      在左边的窗口中选择WM_CREATE,保存,在其中添加:SetTimer(1,100,NULL);

      到这里,我们就实现了游戏中的人物图片动起来。

       



      QQ二维码

    文章作者:高时银博客
    本文地址:http://wanlimm.com/7720140109802.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.