- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中期报告范例,小课题研究报告范例,内审不符合项报告范例,卓越绩效自评报告范例,资产评估报告书范例,财务收支审计报告范例,工程竣工报告填写范例,安全评价报告范例,药品不良反应报告范例,课题结题总结报告范例
哈尔滨工业大学
国家示范性软件学院
本科毕业设计(论文)中期报告
题目:
专 业 软件工程
学 生 姓 名
学 号
联 系 方 式
年 级 200级班
实 习 基 地 公司
基地指导教师
联 系 方 式
校内指导教师
联 系 方 式 0631-568762
中 检 日 期 2009.3.8
哈尔滨工业大学软件学院
目 录
1. 毕业设计(论文)内容概述 1
1.1 项目来源及开发目的和意义 1
1.2总体设计内容及方案 1
1.3 本人所承担任务(模块)说明 3
1.4 开发环境和开发工具 6
1.4.1 开发语言 6
1.4.2 开发工具 6
1.4.3 开发环境 7
1.5 项目原定进度安排 7
2. 中期完成情况说明 8
2.1 预定计划的执行情况 8
2.2 中期工作说明及成果汇报 8
2.3 存在的困难与问题 13
2.4 如期完成预定任务的可能性分析 13
2.5 后期工作安排 14
附件:本科毕业设计(论文)中期检查意见表 15
1. 毕业设计(论文)内容概述
1.1 项目来源及开发目的和意义
本项目来源于
1.2总体设计内容及方案
本项目主要任务Run-Time Type Identification运行时类型识别Simplified Wrapper and Interface Generator)轻松实现由C/C++接口到脚本的绑定。
编辑器(editor模块),编辑器是本游戏引擎的一个集成开发环境,包括脚本的编写、调试,游戏场景的制作、游戏资源文件的制作等。这是引擎中相对复杂的一个模块。
1.3 本人所承担任务(模块)说明
本人在整个项目中的具体任务是ReferenceCounted,记录当前的引用计数并实现了加减操作并负责对引用计数降为0是对象的释放。Pointer类就是我们的智能指针类,它是一个模板类,在构造、拷贝、赋值运算、销毁时确保正确地对它所控制的Object类的指针进行增减引用计数操作。
文件系统:使用了开源库PhysFS并进行了简单的接口包装。
editor模块:
使用开源的界面库wxWidgets2.8.9进行界面的开发,选择的理由:
开源、跨平台,符合我们引擎的设计初衷。
它不仅仅是一套界面库,还提供了一些其他的平台无关的类库。
它使用操作系统的原生控件。
众多的contrib库和辅助开发程序,并且有Code::Blocks等IDE也是使用它来开发的。
编辑器的总体设计:
图-1 编辑器组成示意图
编辑器主要功能使用动态库的方式实现,并对外提供一套API接口,主程序通过调用此动态库来完成相应的功能,并且主程序提供编辑器的主要的UI框架与用户交互。为什么不将两者合在一起实现呢?这是因为我们的编辑器要支持扩展,支持扩展的代价就是要对外开放接口,而开发接口的最好的方法就是动态库。这样第三方扩展插件便可以轻松地使用编辑器的接口来完成它的功能,但它也必须遵从一定的规范才能被编辑器的主程序识别并顺利地加载,这个规范就是:插件一定要实现“插件接口”,编辑器内留出了多种支持的插件类型的接口,如:调试器插件用于对脚本语言的调试、向导插件用于新建某一类型的文件、文件类型处理插件用于对特定类型的文件进行编辑(材质编辑、粒子编辑、UI编辑都属于这种类型)。
编辑过程中与用户的交互是无法避免的,如何把在编辑过程中用户触发的事件在编辑器和插件之间以及插件和插件之间传递需要由一个系统来处理——事件系统:
图-2 编辑器事件系统示意图
用户进行编辑操作时会触发编辑器内部的事件,事件进入编辑器的事件处理系统,处理系统根据其类型查找相应的EventSinks,然后依次调用注册的回调函数将消息分派下去处理。这样一些插件就可以通过注册某些关心的事件的回调函数来响应用户操作。
要实现相同的功能还有另一种方式:为每一个类型的事件写一个虚函数,由插件继承并实现此接口,利用C++的多态特性来实现。相比较而言,我们的处理方式更加灵活,并且性能更好(因为多层次的继承C++的虚函数表会造成性能问题)。
调试器的实现:调试有2种实现方式:单进程使用线程调试和多进程使用进程间通信的方式。
方式一:容易编码,但需要保证调试和运行能够“友好”地相处,我们的编辑器不满足这种条件,编辑器和游戏是两个不同的进程,并且编辑器本身也使用游戏的一些库,着非常容易造成资源的混乱。
方式二:必须进行进程间的通信,进程间的通信又主要有三种方式:管道、共享内存、套接字。其中
您可能关注的文档
最近下载
- 新概念青少版2BUnit22 I always behave myself课件.pptx
- 院前急救培训手册.docx
- 消防设施操作员中级(四级)维保方向35个抽考项-PDF版.pdf VIP
- 人教版四年级数学《上册全册》全套精品教学课件小学优秀课堂课件.pptx VIP
- 2024年华医网继续教育临床静脉用药质量管理与风险防范答案.docx VIP
- 2023年河北高中学业水平合格性考试英语试卷真题(含答案详解).pdf
- 人教版一年级上册数学 加减混合(课件).pptx
- 海兰天澄 HLT-100COD在线分析仪使用说明书.doc
- 广东省深圳市育才一中学2024届中考物理适应性模拟试题含解析.doc
- 地方政府与城投企业债务风险研究报告——江苏篇(下)-15页.doc VIP
文档评论(0)