打飞机游戏源码补充

从指定位置加载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. 跨域使用jsonp 获取天气预报

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">    ...

  2. redolog 大小的实验

    前言:近日因工作需要,测试postgresql和MySQL在oltp对比测试,因结果差异太多(MySQL测试结果比较差,相同环境),寻求大神帮助,有幸得叶大师和姜大师指点,指出my.cnf配置文件in ...

  3. 【HDOJ】2459 Maximum repetition substring

    后缀数组+RMQ. /* 2459 */ #include <iostream> #include <sstream> #include <string> #inc ...

  4. Weak Event Patterns

    https://msdn.microsoft.com/en-US/library/aa970850(v=vs.100).aspx In applications, it is possible tha ...

  5. Java之获取系统属性

    import java.util.Enumeration; import java.util.Properties; public class Example609 { public static v ...

  6. 1523. K-inversions(K逆序对)

    1523 这题应该说有一些DP的思想吧 dp[i][j]表示以i为结尾第j个数的个数 k单调下降 直接求的话肯定超时 然后用树状数组来进行维护 求k-1次树状数组 #include <iostr ...

  7. bzoj4511: [Usaco2016 Jan]Subsequences Summing to Sevens

    前缀和. 设f[i]为前缀和%7=i的第一个点.那么答案就是max(i-f[s[i]%7])了. #include<cstdio> #include<algorithm> #i ...

  8. 从算法入手讲解如何在SQL Server中实现最优最简

    算法是计算机科学中一个重要的研究方向,是解决复杂问题的关键.在计算机世界中,算法无处不在.数据库是存储数据和执行大批量计算的场所,在数据库中使用一些简单的SQL命令,进行存储.查询.统计.以解决现实世 ...

  9. Dubbo实例

    1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需 ...

  10. I.MX6 wm8962 0-001a: DC servo timed out

    /******************************************************************************* * I.MX6 wm8962 0-00 ...