社区
下载资源悬赏专区
帖子详情
基于C++的飞行射击游戏下载
weixin_39821526
2019-05-14 12:00:13
是一个完整的毕设!应用的是c++编程,在电脑上可运行,没有任何的密码,下载了就能用,对计算机专业的同学应该是个帮助
相关下载链接:
//download.csdn.net/download/trftrft/2199596?utm_source=bbsseo
...全文
14
回复
打赏
收藏
基于C++的飞行射击游戏下载
是一个完整的毕设!应用的是c++编程,在电脑上可运行,没有任何的密码,下载了就能用,对计算机专业的同学应该是个帮助 相关下载链接://download.csdn.net/download/trftrft/2199596?utm_source=bbsseo
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
基于
C++
的
飞行
射击游戏
是一个完整的毕设!应用的是
c++
编程,在电脑上可运行,没有任何的密码,
下载
了就能用,对计算机专业的同学应该是个帮助
基于
C++
开发的
射击游戏
用DDraw实现
射击游戏
说明文档 要点一:画图自动切割 IDirectDrawSurface7::BltFast()方法中没有自动切割功能,即当画图元素超出窗口以外时不会自动切割,DDraw选择自动忽略不画,造成一旦超出窗口,画图元素会突然消失。 解决这一问题的方法是手动切割,代码如下: //自动切割 RECT scRect; //存放当前窗口大小区域 ZeroMemory( &scRect, sizeof( scRect ) ); GetWindowRect( GetActiveWindow(), &scRect ); //防止图片左上角超过窗口左上角 if ( x < 0 ) { m_rect.left -= x; x = 0; } if ( y scRect.right ? scRect.right : x; y = y > scRect.bottom ? scRect.bottom : y; m_rect.right = x + m_rect.right - m_rect.left > scRect.right ? scRect.right - x + m_rect.left : m_rect.right; m_rect.bottom = y + m_rect.bottom - m_rect.top > scRect.bottom ? scRect.bottom - y + m_rect.top : m_rect.bottom; 只需将上述代码加在CGraphic::BltBBuffer() 中的m_bRect = m_rect; 前即可。 要点二:背景的滚轴实现 画背景可以分为以下三种情况: 情况一:背景图片与窗口等高 情况二:背景图片高度小于窗口高度 情况三:背景图片高度大于窗口高度 上述讲解图与代码相对应地看,有助于容易理解。 另外,要点一实现之后,由于已经可以自动切割,画背景可以用其它方法。 要点三:精灵图的实现 在游戏中,如RPG游戏中的人物图、射击类游戏的飞机、爆炸等,叫做精灵图。 精灵图实际上是将所有帧的图片放在一个文件中,游戏时靠一个RECT来控制画图像文件中的哪一部分,进而控制游戏显示哪一帧图,只需控制好RECT的位置即可。如下图: 控制RECT的四个角的坐标的移动,有以下代码: if (m_timeEnd – m_timeStart > 100) //只有到了100ms之后才绘图 { m_ImageID++; if(m_ImageID - m_beginID >= num) { m_ImageID = m_beginID; //最后一帧的下一帧是第一帧 } m_timeStart = timeGetTime(); } int id = m_ImageID++; SetRect(&m_rect, 41 * id, 0, 41 * (id + 1), 41); //飞机精灵图大小是41×41 m_pGraph->BltBBuffer(m_pImageBuffer, true, m_Pos.x, m_Pos.y, m_rect); 这样就实现了精灵动画的效果。 要点四:拿STL进行子弹的实现 子弹的实现可以使用STL中的vector,当按下开火键时发出一颗子弹,就往vector中添加一个结点;当子弹飞出窗口或击中敌机时,再将结点从vector中删除。每帧游戏画面中子弹
飞行
时只需将vector中的所有子弹进行处理、绘画即可。 参考代码如下: 1.添加子弹 if (g_ctrlDown) //当ctrl键按下时开炮! { m_BulletEnd = m_Gtime->GetTime(); if ((m_BulletEnd - m_BulletStart) * 1000 > 120) //如果连续按着开火键不放,这里控制不会发出太多子弹 { m_BulletStart = m_BulletEnd; MBULLET tmpBullet; tmpBullet.pos.x = m_SPos.x - 1; //记录开火时的子弹位置 tmpBullet.pos.y = m_SPos.y - 26; tmpBullet.speed = 5; //该子弹的
飞行
速度 m_BulletList.push_back(tmpBullet); //将子弹添加到vector中
plane
飞行
射击游戏
这是一个
飞行
射击游戏
c++
写的。基于windowsGDI。可以用于学习类的组织和一些游戏开发知识
自制游戏(一)
飞行
射击游戏
基于自制游戏引擎开发的一款
飞行
射击小游戏。
C++
零基础游戏开发!
C++
大神带你300行代码打造大型
飞行
射击游戏
!
V
C++
编写的一款战机
飞行
射击游戏
”入侵者”源码,基于DirectX进行图像渲染的一款游戏程序,打开项目后请编译Invasion.dsw文件,在Debug目录下会生成文件Invasion.exe,双击即可运行,开源爱好者提示:运行需要DirectX 8.0及其以上版本。 实现界面如下: 项目结构展示: 部分源码展示: 很好玩的一款
飞行
射击游戏
,运行后才知道原来是模仿的雷电游戏,这里游戏是向大家讲述
飞行
游戏类游戏的编程原理,因此游戏本身只相当于雷电初级的难度,贵在学习,包中包含作者的开发文档,完整源代码资料及EXE执行文件。 最后,如果你在学习C/
C++
的过程中遇到了问题,可以来问小
下载资源悬赏专区
12,806
社区成员
12,340,782
社区内容
发帖
与我相关
我的任务
下载资源悬赏专区
CSDN 下载资源悬赏专区
复制链接
扫一扫
分享
社区描述
CSDN 下载资源悬赏专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章