射击的乐趣:WIN32诠释打飞机游戏源码补充
打飞机游戏源码补充
从指定位置加载bmp并显示到对话框。

, , 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( }
}
双缓冲贴图演示:

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);
}
}

:
}
, );
}

{
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[];
}
碰撞检测以及处理的过程:

;
;
;
;
+ (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();
}
}
}
修改对话框大小以及自定义对话框的方法:

GetClientRect(rect);
ClientToScreen(rect);
MoveWindow(rect.left, rect.top, bkinfo.bmWidth, bkinfo.bmHeight, TRUE);

射击的乐趣:WIN32诠释打飞机游戏源码补充的更多相关文章
- 射击的乐趣:WIN32诠释打飞机游戏
一楼留给链接http://blog.csdn.net/crocodile__/article/details/11860129 楼上神贴,膜拜片刻...... 一.游戏玩法和已经实现的功能 1.打开游 ...
- HTML5小游戏源码收藏
html5魅族创意的贪食蛇游戏源码下载 html5网页版打砖块小游戏源码下载 html5 3D立体魔方小游戏源码下载 html5网页版飞机躲避游戏源码下载 html5三国人物连连看游戏源码下载 js ...
- ios源码-ios游戏源码-ios源码下载
游戏源码 一款休闲类的音乐小游戏源码 该源码实现了一款休闲类的音乐小游戏源码,该游戏的源码很简单,而且游戏的玩法也很容易学会,只要我们点击视图中的grid,就可以 人气:2943运行环境:/Xco ...
- 15款Cocos2d-x游戏源码
(1)用cocos2d-x开发的中国象棋游戏源码 使用Cocos2d-X2.2.3开发的一款中国象棋游戏,游戏中可以实现.新局面.悔棋.游戏音乐.胜利后会显示游戏结果. 源码下载:http://www ...
- 3D坦克大战游戏源码
3D坦克大战游戏源码,该游戏是基于xcode 4.3,ios sdk 5.1开发.在xcode4.3.3上完美无报错.兼容ios4.3-ios6.0 ,一款ios平台上难得的3D坦克大战游戏源码,有2 ...
- iOS版打地鼠游戏源码
打地鼠游戏源码,游戏是一款多关卡基于cocos2d的iPad打地鼠游戏源码,这也是一款高质量的打地鼠游戏源码,可以拥有逐步上升的关卡的设置,大家可以在关卡时设置一些商业化的模式来盈利的,非常完美的一款 ...
- html5 canvas简易版捕鱼达人游戏源码
插件描述:html5利用canvas写的一个js版本的捕鱼,有积分统计,鱼可以全方位移动,炮会跟着鼠标移动,第一次打开需要鼠标移出背景图,再移入的时候就可以控制炮的转动,因为是用的mouseover触 ...
- ios跑酷游戏源码完整版
今天在网上看到了一个很流行的ios游戏源码,酷跑游戏源码,个人下载感觉非常不错,运行起来非常不错的,大家可以研究一下吧,由于源码文件较大,没有上传,请大家见谅. 由于文件较大,没有上传了,大家可以到这 ...
- 网狐6603棋牌游戏源码.rar
网狐6603棋牌游戏源码.rar http://pan.baidu.com/s/1dFgGNq5 网络收集仅供学习,下载后请务必在24小时内删除! 以上是原vc6.0源码,下载后使用vs2015编译, ...
随机推荐
- Autodesk 2015全套密钥
Below is a list for collecting all the Autodesk 2015 Product Keys: [*]AutoCAD 2015 001G1 [ ...
- 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 ...
- Android EditText控件行尾为表情时的BUG
今天处理项目上的一个诡异BUG,贴吧Android客户端发贴框是支持表情文字混排的,但是当发贴框的行内容末尾为表情时,尝试在表情后插入文字,就悲剧了:文字其实写进去了,但是不会显示出来.研究了一下,发 ...
- 【剑指offer】数字在排序数组中出现的次数
2013-09-02 16:28:35 找出数字在排序数组中出现的次数. 注意几点: 一开始试图用size_t类型表示数组的下标begin.end,到那时这样做在end = 0时,end - 1是si ...
- Git教程(1)官网及官方中文教程
1,Git官网 http://www.git-scm.com/ 2,官方中文教程 http://git-scm.com/book/zh/v2
- Windows Embedded Compact 7新特性
Windows® Embedded Compact 7是Windows Embedded CE的下一代产品,而Windows Embedded CE这款操作系统面向占用资源少的新颖设备.Windows ...
- I.MX6 Android iperf3 porting failed
/***************************************************************************** * I.MX6 Android iperf ...
- boostrap兼容ie及其案例
多梦网络 wordpress主题 http://www.dmeng.net/
- RMAN catalog备份恢复方案
对于数据库的稳定性,高可用,跨平台以及海量数据库的处理,Oracle 数据库通常是大型数据库和大企业的首选.尽管如此,仍然不乏很多中小企业想要品尝一下Oracle腥味,因此在Oracle环境中也有不少 ...
- 《C#并行编程高级教程》第8章 线程池 笔记
主要的几个概念(详细最好还是看书,配合插图看) 任务是会被分配到线程上的,而这些线程都在线程池引擎下管理 线程池引擎管理着合适数量的线程池,线程从全局队列获取工作项执行. .NET4 Framew ...