使用opengl实现射击游戏.zip

上传者: 40721183 | 上传时间: 2022-03-18 08:32:04 | 文件大小: 23.96MB | 文件类型: -
图形学大作业的源码。关于代码的一些说明:
项目采用Qt编写,预先要安装Qt,建议4.7 4.8左右的版本,不建议5以上版本。
几个类的作用
MainWindow 整个游戏窗口
GLArea 游戏中央黑色背景的画面,是MainWindow的成员。各种openGL相关的操作在这里完成。
Raider3d 游戏主对象,是GLArea的成员。维护各种游戏数据,包括敌人的网格模型,背景星云等等。
CMesh VCG网格
解决方案视图中Helper文件夹下的各种类不需要太了解

主要的编写工作在Raider3d进行。实际上,全部任务就是要实现以下函数:
1.画准星 Raider3d::drawCross()   
2.移动准星 Raider3d::moveCross(CROSS_MOVE move)
3.画游戏背景星云 Raider3d::initStarfield()
Raider3d::drawStarfield()
Raider3d::moveStarfield()
4.判断玩家按下扳机后(空格键),当前的准星是否打中敌人
Raider3d::getHit()
Raider3d::world2View(Point3f& w)
5.实现敌人被击中后的爆炸效果(敌人模型网格的边随机散开)
Raider3d::computeEdgeList()
Raider3d::startExplosion(int hit_id)
Raider3d::drawExplosion()


阅读代码比较好的办法是从main函数开始进入,顺次看MainWindow、GLArea、Raider3d。


文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明