Flash平台上自动寻路(A)算法优化设计(3)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

Flash平台上自动寻路(A)算法优化设计(3)


ActionScript是针对Adobe Flash Player运行时环境的编程语言,它在flash内容和应用程序中实现了交互性、数据处理以及其他许多功能。和Java一样,它也是编译以后运行在虚拟机上的中间型语言,并且对面向对象有着良好的支持。相比较于先前的ActionScript版本,3.0是质的改变,其中包括:提供了可靠的编程模型,更全面的运行时异常提示,引入了密封类,命名空间,DOM3事件模型、显示列表,实现了E4X,支持正则表达式,添加了新的基元值。ActionScript3.0相比较于其他编程语言的优势在于“Action”,也就是动作控制夸张的前端表现能力。
1.3.2    交互服务器
FMS(流媒体服务器)是一个应用平台,同时更是一个二次开发平台,在这个平台上,可以实现多种网络多媒体内容的传播和交互应用。
作为二次开发平台,FMS具有很多领先优势,但同时因为Adobe本身对FMS的商业保护和使用限制,在具体应用上,也存在不少障碍,因此也有许多开源组织和相应的厂商推出了类似FMS的多媒体开发平台,如开源组织的Red5、国内的UBI Meeting 、八百里Flash P2P流媒体系统等,在这些平台上,开发者可以更为简洁的实现二次开发设计。具体对比如下:
Adobe Flash Media Server(FMS):专业厂商产品,性能优良、稳定。有版权问题,产品销售成本过高。核心技术为Adobe所有,后续扩展、升级、定制基本不可能。
1.3.3    Web服务器
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apachehttp server是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
2    分析
2.1    基本原理分析
2.1.1    A* 寻路算法
(1)    算法描述
A*寻路算法解决的一个最基本的问题是寻路。这里的寻路指的是,在基于区块的地图中寻找起始节点和终点节点间,绕开不可通过的障碍,即不可到达节点,所产生最佳路径。“最佳”一词的确切含义需要根据实际情况来定义,可以是最短时间,可以是最短路径,也可以是最小代价。比较形象的例子是穿越森林,从一头到另一头,如果从森林旁边的公路绕,则代价小,路径长,如果走森林则代价高,路径短。本次设计采用考虑代价问题的方式。
除了A*寻路算法以外,还有其他寻路算法,比如三角寻路算法,它同样解决了地图中寻路的问题,但A*寻路算法相比较于其他寻路算法更加规范合理,因此目前绝大多数游戏中的寻路功能都是以A*为标准。

算法术语描述:
节点:指代一个区块的数据模型,一个路径包涵起始节点和目标节点以及构成二者之间最佳路径的节点的数组。节点有2个最基本的属性:列标和行标,即节点位于地图中的位置。此外节点还包括在A*寻路算法中所用到的属性:f值、g值、h值、能否到达的标识以及代价系数。
节点代价:节点代价值的标识为f,该值由2部分组成:从起点到当前节点的代价值g,和当前节点到目标节点的估计代价值h。代价值越小的节点在寻路过程中越被优先考虑。 (责任编辑:qin)