打飞机游戏源码补充

从指定位置加载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. Autodesk 2015全套密钥

    Below is a list for collecting all the Autodesk 2015 Product Keys:      [*]AutoCAD 2015 001G1      [ ...

  2. POJ2993——Emag eht htiw Em Pleh(字符串处理+排序)

    Emag eht htiw Em Pleh DescriptionThis problem is a reverse case of the problem 2996. You are given t ...

  3. Android EditText控件行尾为表情时的BUG

    今天处理项目上的一个诡异BUG,贴吧Android客户端发贴框是支持表情文字混排的,但是当发贴框的行内容末尾为表情时,尝试在表情后插入文字,就悲剧了:文字其实写进去了,但是不会显示出来.研究了一下,发 ...

  4. 【剑指offer】数字在排序数组中出现的次数

    2013-09-02 16:28:35 找出数字在排序数组中出现的次数. 注意几点: 一开始试图用size_t类型表示数组的下标begin.end,到那时这样做在end = 0时,end - 1是si ...

  5. Git教程(1)官网及官方中文教程

    1,Git官网 http://www.git-scm.com/ 2,官方中文教程 http://git-scm.com/book/zh/v2

  6. Windows Embedded Compact 7新特性

    Windows® Embedded Compact 7是Windows Embedded CE的下一代产品,而Windows Embedded CE这款操作系统面向占用资源少的新颖设备.Windows ...

  7. I.MX6 Android iperf3 porting failed

    /***************************************************************************** * I.MX6 Android iperf ...

  8. boostrap兼容ie及其案例

    多梦网络 wordpress主题 http://www.dmeng.net/

  9. RMAN catalog备份恢复方案

    对于数据库的稳定性,高可用,跨平台以及海量数据库的处理,Oracle 数据库通常是大型数据库和大企业的首选.尽管如此,仍然不乏很多中小企业想要品尝一下Oracle腥味,因此在Oracle环境中也有不少 ...

  10. 《C#并行编程高级教程》第8章 线程池 笔记

    主要的几个概念(详细最好还是看书,配合插图看)   任务是会被分配到线程上的,而这些线程都在线程池引擎下管理 线程池引擎管理着合适数量的线程池,线程从全局队列获取工作项执行. .NET4 Framew ...