当前位置: 首页 > news >正文

湖南做防水堵漏工程商网站/seo排名工具给您好的建议

湖南做防水堵漏工程商网站,seo排名工具给您好的建议,网站建设免费书,网站怎样做seo本文并不介绍如实去实现a star 算法,也不去介绍什么是a star 算法。 如果这方面不太了解了。去文章的末尾两个链接可以先补习一下。 本文侧重于在游戏中实际应用。 为什么要使用a star 算法: 游戏中,我们常常会遇到一些任务或者是怪物的路径移…

本文并不介绍如实去实现a star 算法,也不去介绍什么是a star 算法。

如果这方面不太了解了。去文章的末尾两个链接可以先补习一下。

 

本文侧重于在游戏中实际应用。

 

为什么要使用a star 算法:

 

游戏中,我们常常会遇到一些任务或者是怪物的路径移动问题,尤其是有原本的地图的情况下。比如,任务从A走到B,如果直接过去,中间是有条河的,肯定不行。如果绕过去,两侧没有河,一侧是山,一侧是桥,山不能走,挡路,只有桥。 就算任务从桥过去,如何能保证正确的从桥上通过呢?

于是我们引入了a star 算法,当然他在游戏中也并不只是这一个应用,只是举例如此引出:

我们规定地图,是由一个二维数组组成(当然你说一维也可以),里面仅仅存储类似,0,1,2,3 这样的数据,通常情况下只有0,1。例如0代表不能行走,1代表可行走。 这0,1的二维数组是和一张地图对应起来的。我们尝试着把地图无线小的分割成无数个矩形,或者正方形。例如,将5000x5000的大地图,以每个25像素为宽度和高度,分成200x200的一个二维数组。每个数组里面的0代表无法行走。如果从地图的左上角那50x50的一个小范围,是一颗树来看的话,那么对应的二维数组里面,00,01,10,11 这四个值都是0。以此类推,通过某种图像处理的方式,我们可以生成一个完整的200x200的二维数组。

 

如何生成这个地图,我并没有什么太好的方式,可以使用一张粗略的颜色图片,2个颜色,大体的花出来路径,例如红色代表可走,其他颜色不可走,和原本彩色地图按位计算得出。我也是猜测。 

 

如何使用a star 算法:

 

既然我们已经有了一个和地图对应的二维数组,即可通过a star 算法尝试着去寻找某一个数组里面的‘1’,到下一个‘1’,所 花费的最少的cost 的路径了。

下面以实际人物移动为例,具体说名下返回的路径(cocos2d为例):

 

返回的路径无非就是一些从起始点到重点的坐标集合,集合中的每个元素都是一个人物将要移动的位置。 

1。使用库函数ccMoveTo/By等, 依次移动。缺点是移动中断比较难做。

2。使用坐标变化方式,实时刷新人物坐标。维护移动了的节点,没有走的节点。 通过某种圈地函数,判断是否已经走到了制定的坐标位置。 

 

何时使用a star 算法:

 

何时使用往往是人物的移动是收到一定的限制,在地图中并不是个坐标都可以走的。往往客户端本地和服务器使用的是同一份地图数组,当客户端进行移动的时候,会将移动了的坐标发送到服务器去,如果服务器发现这一组数据是非法的,将会把人物进行拉回。但通常情况下,我们并不采取人物本身的初始移动,由服务器来控制行走。这样是完全不可行的,人物还未走,就需要发送一条移动请求,返回需要走的坐标,很少有人尝试这一种设计。

 

下面说一种本不应该使用a star 算法的例子,例如某种人物怪物或者其它角色,他的移动通常是一条固定的线路,那么使用a star算法就画蛇添足了。 每次寻路的结果也是一样的,往往耗费了性能。例如人物杀怪,怪物如何移动直接有服务器给出即可。 

 

a star 算法的性能: 

 

这里我倒是没有具体的统计数据,不过就ipad的性能来说,计算2000x2000的地图的时候一般不会出现让人察觉的停顿方式。如果考虑使用开一个新的线程实现,也没有这个必要。从用户体验角度来看,虽然单开的这个线程在计算完成了路径后,人物开始移动,和使用一个线程实现,效果都是一样的,慢的话我们都需要等待。

 

通常并不建议去使用这样一种地图方式:上下都有大片的可走区域,而中间只留下一条可走的路,从算法本身扩散式的寻找来看,性能是很低下的。 因为别忘了我们使用的是移动的平台。

  

关于Astar 的理论介绍:

 

http://www.cnblogs.com/gansaishi2008/articles/1254603.html

http://wenku.baidu.com/view/eaa14f11f18583d049645992.html 

http://www.jmfq.cn/news/4783879.html

相关文章:

  • 域名除了做网站还能做什么/附子seo
  • 靖江做网站/第三波疫情将全面大爆发
  • 网站开发的权限设置/深圳网站建设运营
  • 修改网站默认首页/市场营销推广方案怎么做
  • 网站建设明细报价表 服务器/黄金网站软件免费
  • 自己做百度网站/免费网上申请注册
  • 莱芜区平台公司/文山seo
  • 网站建设的主题什么比较好/sem培训班培训多少钱
  • 网站是香港主机/搜索引擎营销是什么
  • 政府单位建设微网站的好处/产品营销方案策划书
  • 有没有专门做教程的网站/做互联网项目怎么推广
  • 怎样营销网站建设/网络推广服务外包
  • 沈阳工程信息招标网/seo排名优化软件价格
  • wordpress教程创建网页/站内关键词排名优化软件
  • 关于建设校园网站申请/百度allin 人工智能
  • 做外贸生意用哪个网站最好/媒体公关
  • 网站顶部导航代码/网站快速排名上
  • 东莞做小程序的公司/排名优化哪家好
  • 怎么弄一个公司网站/网站优化的意义
  • 网站建设初学者教程/企业产品推广策划方案
  • wordpress多站点会员注册/河南自助建站seo公司
  • wordpress网站阿里云备案/最近的国际新闻热点
  • 社保网站上怎么做减员/百度视频
  • 网站宣传的优点/世界足球排名前100
  • 氧os哪个网站做的最好/google手机官网
  • 寻花问柳专注做一家男人爱的网站/手机怎么建自己的网站
  • 怎样给网站做关键词优化/河南疫情最新消息
  • 唐山网站建设怎么样/查排名
  • 来宾 网站建设/长沙关键词优化服务
  • 做网站复杂吗/域名批量注册查询