打飞机游戏源码补充

从指定位置加载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. redmine一键安装包下载链接

    windows版本一键安装包:<bitnami-redmine-3.1.1-1-windows-installer.exe> 下载地址:http://pan.baidu.com/s/19D ...

  2. xml--通过jdom解析及生产XML

    JDOM是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序.它的设计包含 Java 语言的语法乃至语义. JAXP (用于 XML 语法分析的 Java API)包含了三个软 ...

  3. Oracle EBS Report 输出字符字段前部"0"被Excel自动去掉问题

    Oracle  EBS 提供多种报表的开发和输出形式,由于MS Excel在处理数据方面的优势明显,报表输出用Excel打开是很常见的开发项. 但是正是由于Excel的"过于智能而不智能&q ...

  4. Android开发之一些资源索引

    1.android标题栏(titlebar)显示进度条 protected void onCreate(Bundle savedInstanceState) { super.onCreate(save ...

  5. js正则表达式中的特殊字符

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个 ...

  6. 函数 buf_block_init

    /********************************************************************//** Initializes a buffer contr ...

  7. 【Markdown】Writing on Github - 在GitHub上写作

    Writing on GitHub https://github.com/shalliestera/Writing-on-GitHub-Chinese-Translation Markdown 基本语 ...

  8. 更改nginx默认的网页目录

    默认网站根目录为/usr/local/nginx/html,要将它改成/homw/www vi /usr/local/nginx/conf/nginx.conf 将其中的           loca ...

  9. Apache2.2+Tomcat7.0整合配置详解

    一.简单介绍 Apache.Tomcat Apache HTTP Server(简称 Apache),是 Apache 软件基金协会的一个开放源码的网页服务器,可以在 Windows.Unix.Lin ...

  10. InstallShield高级应用--检查是否安装ORACLE或SQL Server

    InstallShield高级应用--检查是否安装ORACLE或SQL Server   实现原理:判断是否存在,是通过查找注册表是否含有相应标识来判断的. 注意:XP与WIN7系统注册表保存方式不一 ...