- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OGRE游戏总结报告
多媒体开发技术
——游戏总结报告
游戏名称:《太空侵略者》
指导教师:
小组成员:
目录
1、太空侵略者游戏相关 3
1.1、游戏简介 3
1.2、制作成员及分工 3
1.3、游戏主界面 4
2、需求分析 5
2.1、功能与数据需求 5
2.2、开发环境 5
3、概要设计 5
4、详细设计及实现代码 5
4.1、设计游戏的背景画面 5
4.2、添加战斗机对象 8
5、项目总结 14
1、太空侵略者游戏相关
1.1、游戏简介
地球在一千多年后能源已经枯竭,但是人类随着科技的飞速发展,可以在宇宙其他星球上获得新生。地球同盟组织一直维护着人类在新星球的安稳生活,建立星际军校,培养大批新一代的宇宙飞行员,捍卫人类的生存环境。
人类使用成熟的宇宙航道技术,向各个可生存星球不断扩张,但无限的扩张必然会造成矛盾的出现。
人类一些反势力组织为了掠夺大量的宇宙资源,重金雇佣了大批海盗军,同地球同盟组织产生激烈的斗争,和平的星际秩序逐渐演变为混乱的战场。
星际海盗军的恐怖破坏力让地球同盟组织受尽苦头,损失大批财物。
新一代的宇宙飞行员临危受命,向星际海盗军进行反击,一场残酷的宇宙大战即将拉开序幕
2、需求分析
2.1、功能与数据需求
《太空侵略者》是一款飞机类射击游戏,该游戏功能要求能够通过键盘或游戏手柄实现对战斗机的控制,包括战斗机的位置、前进与后退的距离、子弹的发射以及发射的大招等;在数据方面要求能够记录玩家的一些相关信息,包括玩家的姓名,游戏的时间,游戏的成绩等。
2.2、开发环境
游戏引擎:OGRE
制作工具:Microsoft Visual Studio 2010
开发系统平台:Windows7
3、概要设计
游戏开发进程:
(1)设计背景画面
(2)添加战斗机对象
(3)实现战斗机的相关功能
(4)设计子弹击中后的效果
(5)增加背景音乐
4、详细设计及实现代码
4.1、设计游戏的背景画面
1、Sky.cpp
#include SamplePlugin.h
#include Sky.h
using namespace Ogre;
using namespace OgreBites;
#ifndef OGRE_STATIC_LIB
SamplePlugin* sp;
Sample* s;
extern C _OgreSampleExport void dllStartPlugin()
{
s = new Sample_SkyBox;
sp = OGRE_NEW SamplePlugin(s-getInfo()[Title] + Sample);
sp-addSample(s);
Root::getSingleton().installPlugin(sp);
}
extern C _OgreSampleExport void dllStopPlugin()
{
Root::getSingleton().uninstallPlugin(sp);
OGRE_DELETE sp;
delete s;
}
#endif
2、Sky.h
#ifndef __SkyBox_H__
#define __SkyBox_H__
#include SdkSample.h
using namespace Ogre;
using namespace OgreBites;
class _OgreSampleClassExport Sample_SkyBox : public SdkSample
{
public:
Sample_SkyBox()
{
mInfo[Title] = Sky Box;
mInfo[Description] = Shows how to use skyboxes (fixed-distance cubes used for backgrounds).;
mInfo[Thumbnail] = thumb_skybox.png;
mInfo[Category] = Environment;
}
protected:
void setupContent()
{
// setup some basic lighting for our scene
mSceneMgr-setAmbientLight(ColourValue(0.3, 0.3, 0.3));
mSceneMgr-createLight()-setPosition(20, 80, 50);
mSceneMgr-setSkyBox(true, Examples/SpaceSkyBo
原创力文档


文档评论(0)