论文题目: 多人在线图形社区设计与制作 指导教师:黄理旻 班级:08数字媒体艺术 学生:许静 学号:08B01130107
课题研究背景及意义 背景: Flash平台技术是一种RIA(富互联网应用 )开发和应用技术,因为其极高的市场占有率、成熟的开发环境、优秀的跨平台支持、夸张的前端表现能力,有越来越多的网页游戏开始选择了以Flash平台技术为前端核心。人们无需像过去那样下载客户端并且花费时间安装。然而国内由于带宽、硬件条件所限,Flash平台技术的应用主要还是集中在小游戏方面。 意义: 利用Flash平台技术的优势,可以开发出用户体验性更强,成本更加低的游戏及交互产品。本课题主要研究了Flash平台技术的使用,通过使用Flash平台技术渲染出2.5D地图画面及人物运动,更好的展现出寻路算法的功能。以及探讨了Flash平台技术的优势和应用开发前景。
论文的结构和主要内容 模块设计 A*寻路算法 地图构建 人物控制 XML实现外部数据加载 01 02 03 04 05
模块设计 程序划分为3个模块:地图显示模块,数据加载存储模块,人物控制模块。 在程序中分别对应3个主要的类:GameView,GameData,GameController。 在运行时,实例化3个类的对象,并且通过每个类所提供的方法,实现外部数据读取以及地图和人物的加载、人物的鼠标、寻路控制。
A*寻路算法 A*寻路算法解决的一个最基本的问题是寻路。这里的寻路指的是,在基于区块的地图中寻找起始节点和终点节点间,绕开不可通过的障碍,即不可到达节点,所产生最佳路径。 其中考虑到了挂角问题和代价问题 。
g:从起始节点到当前某个节点的代价值,是一个精确值。 h:从当前某个节点到目标节点的代价值。这是一个估计值,由启发函数来计算该值,计算时不考虑障碍物的情况。 f:一个节点的代价值,f=g+h。
地图构建 “等角”一词的含义是指,在这种投影中,x、y、z轴之间的夹角相同,都为120度。 本次设计采用的是2.5D地图渲染的方式来呈现寻路算法。2.5D的含义是以2D的技术,通过一系列的视图算法,产生3D的效果,又被称为等角投影或等距视图。 “等角”一词的含义是指,在这种投影中,x、y、z轴之间的夹角相同,都为120度。 等角坐标系 二等角坐标系及区块世界
人物控制 人物的移动一共有8个方向即:上、下、左、右、左上、右上、左下、右下每个方向上分为运动和静止2个状态。人物控制是本次设计中最综合的表现,它牵扯到了以下环节:1.人物方向的控制 2.人物寻路流程的控制 3.坐标系转换 4.地图的深度排序。 如图所示: 人物的8向移动
当鼠标点击地图时,除了要判断人物的移动,还有一件重要的事要做,那就是将起点、终点的坐标值放入到A. 寻路算法的数据结构中,然后进行A
XML实现外部数据加载 XML是一种标签形式的、结构化的文件,对于本次设计来说,它相当于一个数据索引。通过读取XML中的文件中的信息,便可以获取地图素材的详细数据,包括存图片储位置、代价、能否到达。使用XML的优势在于:可以动态的改变地图数据和信息而不需要重新编译程序,从而实现了动态地图数据的加载。 二维数组的k索引用来获取人物的朝向,而i索引通过不断的循环就能产生人物运动的效果。
成果与展望 成果: 本论文主要研究了结合Flash平台技术,实现A*寻路算法的基本方法,并且利用了Flash技术在显示层面上的优势,模拟出了2.5D环境中的人物寻路,通过一个实例来生动的体现出A*寻路算法的功能。 当用户点击地图上的任何区域时,人物会进行运动,并且会有正确的路径以及朝向,从而构建一个基本的社区。
设计效果
展望: Flash平台技术,用面向对象的编程思想来说,它不仅继承了客户端编程的优势,还实现了设计-开发流程方法的接口。 虚拟社区目前在国内的RIA应用中还比较少见,主要是因为目前中国网络带宽以及硬件资源不足。它是一个非常有潜力的RIA应用。虚拟社区通过模拟现实生活中的场景,虚拟出人物在特定场景中的活动。 最后提出一个对于社区网站建设的构想:使用Flash平台技术制作社区的2.5D虚拟世界嵌入到网络主页中,可以是简单的校园向导应用或者是其他的社交平台:可以通过这个社区来了解彼此,进行虚拟观光。也可以是复杂的师生交互应用,学生可以在这个游戏中和跟多的老师接触,聊天。
展望效果图
致谢 在本文的撰写过程中,我的导师黄理旻老师对我每次提出的疑问都给予细心的解答,在本文写作过程中黄老师更是抽出宝贵的时间进行评阅,提出具有建设性的修改建议。向我的指导老师,黄理旻老师致以最诚挚的谢意。
毕业设计-《多人在线图形社区设计与制作》 答辩结束 谢谢