射击的乐趣: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编译, ...
随机推荐
- python脚本工具 - 3 目录遍历
遍历系统中某一目录下的所有文件名 #! /usr/bin/python # coding:utf-8 import os def dirList(path): filelist = os.listdi ...
- 一步一步制作yaffs/yaffs2根文件系统(二)---安装BusyBox,构造/bin、/sbin、/usr、linuxr
开发环境:Ubuntu 12.04 开发板:mini2440 256M NandFlash 64M SDRAM 交叉编译器:arm-linux-gcc 4.4.3点此可下载 BusyBox版本: ...
- 【HDOJ】4426 Palindromic Substring
综合性很强的一道题目,结合manacher,后缀数组,哈希,RMQ,二分可解.基本思路是通过manacher可以找到所有可能的回文串,哈希去重,后缀数组二分找数目.最后暴力求解.需要注意kth需要为_ ...
- bzoj1295: [SCOI2009]最长距离
bfs最短路. 写的真丑... #include<cstdio> #include<algorithm> #include<cstring> #include< ...
- UVa 1606 (极角排序) Amphiphilic Carbon Molecules
如果,没有紫书上的翻译的话,我觉得我可能读不懂这道题.=_=|| 题意: 平面上有n个点,不是白点就是黑点.现在要放一条直线,使得直线一侧的白点与另一侧的黑点加起来数目最多.直线上的点可以看作位于直线 ...
- acdream 小晴天老师系列——晴天的后花园 (暴力+剪枝)
小晴天老师系列——晴天的后花园 Time Limit: 10000/5000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) ...
- 【 D3.js 进阶系列 】 进阶总结
进阶系列的文章从去年10月开始写的,晃眼又是4个多月了,想在年前总结一下. 首先恭祝大家新年快乐.今年是羊年吧.前段时间和朋友聊天,聊到十二生肖里为什么没猫,我张口就道:不是因为十二生肖开会的时候猫迟 ...
- apache开源项目--Jackrabbit
Apache Jackrabbit 是由 Apache Foundation 提供的 JSR-170 的开放源码实现.. 随着内容管理应用程序的日益普及,对用于内容仓库的普通.标准化 API 的需求已 ...
- 【转】Android开发20——单个监听器监听多个按钮点击事件
原文网址:http://woshixy.blog.51cto.com/5637578/1093936 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律 ...
- 3.2版uploadify详细例子(含FF和IE SESSION问题)
最近做项目中碰到上传需要显示进度的问题,通过uploadfiy很好的解决了这个问题不过(IE9出现了按钮不能点击的问题,至今仍找不到良策) 在使用uploadfiy3.2版本时需要下载jquery.t ...