打飞机游戏源码补充

从指定位置加载bmp并显示到对话框。

, TRUE);
, , LR_LOADFROMFILE);
          {
         BITMAP bmpinfo;
       
     CClientDC pdc(     CDC dc;
     dc.CreateCompatibleDC(&pdc);
     dc.SelectObject(bmp);
 
     CRect rect;
     GetClientRect(&rect);
 
 
     pdc.BitBlt(, ,, ,&dc,  , , SRCCOPY);
 
     DeleteDC(pdc);
     ReleaseDC(&dc);
     }
          {
         AfxMessageBox(_T(     }
 }

双缓冲贴图演示:

     pBMPdc.SelectObject(bkbmp->m_hObject);
 
     pBufferdc.BitBlt(, , bkinfo.bmWidth, bkinfo.bmHeight, &pBMPdc, , , SRCCOPY);
 pBMPdc.SelectObject(bullebmp->m_hObject);
     ; i < iCurbullet; i++)
     {
         pBufferdc.TransparentBlt(bullet[i].pos_x, bullet[i].pos_y, bullet[i].Deswidth, bullet[i].Desheight, &pBMPdc, bullet[i].Sou_x, bullet[i].Sou_y, bullet[i].Deswidth, bullet[i].Desheight, RGB(, , ));
     }
 pdc.BitBlt(, , bkinfo.bmWidth, bkinfo.bmHeight, &pBufferdc, , , SRCCOPY);
     DeleteDC(pdc);
     DeleteObject(ptbmp);
     DeleteDC(pBufferdc);
     DeleteDC(pBMPdc);
 }

定时器设置、取消、处理的演示代码:

;
;
;
         life = ;
         iCurPlane = ;
         iCurbullet = ;
         AddPlane();
         AddDefender();
         SetTimer(, , NULL);
         SetTimer(, , NULL);
                       SetTimer(, , NULL);
         SetTimer(, , NULL);
                            }
 }
:
:
                            }
     , );
 }
; i < iCurPlane; i++)
         {
             KillTimer();
             KillTimer();
             ))
             {
                 AfxMessageBox(_T(                 OnOK();
             }
                          {
                                }
         }
     }
 
 
     ; j < iCurbullet; j++)
     {
         bullet[j].pos_y -= bullespeed;
          )
             DeleteBullet(j--);
     }
     OnShot();
     PastPlane();
 }
);
);
))
             AfxMessageBox(_T(             OnOK();
         }
                  {
                        }
              }
           superdefender.Desheight = defenderinfo.bmHeight;
     superdefender.Deswidth = defenderinfo.bmWidth;
     superdefender.pos_x = (bkinfo.bmWidth - defenderinfo.bmWidth)/;
     superdefender.pos_y = bkinfo.bmHeight-defenderinfo.bmHeight;
     superdefender.Sou_x = ;
     superdefender.Sou_y = ;
     superdefender.status = plstatus[];
 }

碰撞检测以及处理的过程:

; i < iCurPlane; i++)
;
         ;
         ;
         ;
 
           + (superdefender.Deswidth + plane[i].Deswidth)*(superdefender.Deswidth + plane[i].Deswidth)/))
                               {
                           rect.left = plane[i].pos_x;
             rect.right = plane[i].pos_x + plane[i].Deswidth;
             rect.top = plane[i].pos_y;
             rect.bottom = plane[i].pos_y + plane[i].Desheight;
 
             CPoint point1, point2, point3, point4;
             point1.x = superdefender.pos_x;
             point1.y = superdefender.pos_y;
             point2.x = superdefender.pos_x + superdefender.Deswidth;
             point2.y = superdefender.pos_y;
             point3.x = superdefender.pos_x;
             point3.y = superdefender.pos_y + superdefender.Desheight;
             point4.x = superdefender.pos_x + superdefender.Deswidth;
             point4.y = superdefender.pos_y + superdefender.Desheight;
 
                              superdefender.status = DESTROYED;
 
         }
                  {
             life -= ;
             AddDefender();
                      }
     }
 }

修改对话框大小以及自定义对话框的方法:

 CRect rect;
         GetClientRect(rect);
         ClientToScreen(rect);
         MoveWindow(rect.left, rect.top, bkinfo.bmWidth, bkinfo.bmHeight, TRUE);
 ModifyStyle( WS_CAPTION, WS_MINIMIZEBOX, SWP_DRAWFRAME ); 

射击的乐趣:WIN32诠释打飞机游戏源码补充的更多相关文章

  1. 射击的乐趣:WIN32诠释打飞机游戏

    一楼留给链接http://blog.csdn.net/crocodile__/article/details/11860129 楼上神贴,膜拜片刻...... 一.游戏玩法和已经实现的功能 1.打开游 ...

  2. HTML5小游戏源码收藏

    html5魅族创意的贪食蛇游戏源码下载 html5网页版打砖块小游戏源码下载 html5 3D立体魔方小游戏源码下载 html5网页版飞机躲避游戏源码下载 html5三国人物连连看游戏源码下载 js ...

  3. ios源码-ios游戏源码-ios源码下载

    游戏源码   一款休闲类的音乐小游戏源码 该源码实现了一款休闲类的音乐小游戏源码,该游戏的源码很简单,而且游戏的玩法也很容易学会,只要我们点击视图中的grid,就可以 人气:2943运行环境:/Xco ...

  4. 15款Cocos2d-x游戏源码

    (1)用cocos2d-x开发的中国象棋游戏源码 使用Cocos2d-X2.2.3开发的一款中国象棋游戏,游戏中可以实现.新局面.悔棋.游戏音乐.胜利后会显示游戏结果. 源码下载:http://www ...

  5. 3D坦克大战游戏源码

    3D坦克大战游戏源码,该游戏是基于xcode 4.3,ios sdk 5.1开发.在xcode4.3.3上完美无报错.兼容ios4.3-ios6.0 ,一款ios平台上难得的3D坦克大战游戏源码,有2 ...

  6. iOS版打地鼠游戏源码

    打地鼠游戏源码,游戏是一款多关卡基于cocos2d的iPad打地鼠游戏源码,这也是一款高质量的打地鼠游戏源码,可以拥有逐步上升的关卡的设置,大家可以在关卡时设置一些商业化的模式来盈利的,非常完美的一款 ...

  7. html5 canvas简易版捕鱼达人游戏源码

    插件描述:html5利用canvas写的一个js版本的捕鱼,有积分统计,鱼可以全方位移动,炮会跟着鼠标移动,第一次打开需要鼠标移出背景图,再移入的时候就可以控制炮的转动,因为是用的mouseover触 ...

  8. ios跑酷游戏源码完整版

    今天在网上看到了一个很流行的ios游戏源码,酷跑游戏源码,个人下载感觉非常不错,运行起来非常不错的,大家可以研究一下吧,由于源码文件较大,没有上传,请大家见谅. 由于文件较大,没有上传了,大家可以到这 ...

  9. 网狐6603棋牌游戏源码.rar

    网狐6603棋牌游戏源码.rar http://pan.baidu.com/s/1dFgGNq5 网络收集仅供学习,下载后请务必在24小时内删除! 以上是原vc6.0源码,下载后使用vs2015编译, ...

随机推荐

  1. getchar()函数的返回值赋给char型,用if(ch=getchar() != EOF)测试,输入ctrl+z同样可以结束循环的分析

    2013-07-18 21:35:58 getchar()函数的返回值赋给char型,用if(ch=getchar() != EOF)测试,输入ctrl+z同样可以结束循环的分析. char是字符型数 ...

  2. android开发无障碍app

    最近做一些为盲人提供服务的APP,还是挺有感触的,感谢手机和互联网的普及,他们的生活比以前丰富了很多. 通过读屏软件,盲人可以操作手机,上网浏览信息.读屏软件的工作原理很简单,就是读出屏幕上按钮.文本 ...

  3. System.Drawing.Graphics中比较重要的几个方法

    方法 常见参数 绘制的图形 DrawLine 钢笔.起点和终点 一段直线 DrawRectangle 钢笔.位置和大小 空心矩形 DrawEllipse 钢笔.位置和大小 空心椭圆 FillRecta ...

  4. 2013 ACM/ICPC Asia Regional Changsha Online - E

    第一个被板刷的题 取余 依次算在周几 #include <iostream> #include<cstdio> #include<cstring> #include ...

  5. poj2482Stars in Your Window(线段树+离散化+扫描线)

    http://poj.org/problem?id=2482 类似于上一篇 这题转化的比较巧妙 将一个点转化为一个矩形(x,y, x+w,y+h),扫描线入值为正 出值为负 也就是一根线过去 每进入一 ...

  6. 解决项目中EF5.0升级到EF6.0无法安装包的方法

    今天在vs2012上新建了一个mvc4的项目,mvc4中默认的Entity Framework是5.0的版本,如下所示: 或者:,但是项目中有些要用到EF6.0的相关方法,用EF5.0实在繁琐,于是在 ...

  7. 【App FrameWork】框架的页面布局

    之前主要用JqueryMobile+PhoneGap的模式开发移动应用,但JQueryMobile自身存在的硬伤太多,如加载速度缓慢,页面转场白屏.闪烁,头尾部导航浮动问题,页面滚动等等,用户体验效果 ...

  8. bzoj1789 AHOI 维护数列(线段树)

    首先想到线段树,然后刚开始写忽然想到树状数组求和岂不是更快,而且编程复杂度又小,于是把之前写的删掉,写树状数组,写完模版之后忽然发现这题竟然是区间修改! 于是又删掉重写,忽然发现不会处理又加又乘的,果 ...

  9. vijos1603迷宫

    这题的构思太巧妙了: 经典题目8 给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数mod p的值    把给定的图转为邻接矩阵,即A(i,j)=1当且仅当存在一条边i->j. ...

  10. UVA 1515 Pool construction 水塘(最大流,经典)

    题意: 给一个h*w的矩阵,每个格子中是'#'和'.'两个符号之一,分别代表草和洞.现在要将洞给围起来(将草和洞分离),每条边需花费b元(即将一个洞包起来需要4边,将2个连续的洞包起来需要6边,省了2 ...