笔记-----------------------------A*寻路算法

笔记-----------------------------A*寻路算法,第1张

概述A*寻路算法 在写消除类小游戏的时候,我们可能会用到一种A*寻路算法,比如当我们手指移动到指定的色块上得时候,自动判断这个色块和上一个色块之间有没有可以连接的线路,如果有,允许这个色块加入可消除列表,如果没有则不添加 编程软件:Xcode ,游戏引擎:Cocos2d-x,编程语言:C++ 首先,我们用tiledmap地图编辑器获得地图,tiledmap地图就好像是配置文件,通过tiledmap地图 A*寻路算法 在写消除类小游戏的时候,我们可能会用到一种A*寻路算法,比如当我们手指移动到指定的色块上得时候,自动判断这个色块和上一个色块之间有没有可以连接的线路,如果有,允许这个色块加入可消除列表,如果没有则不添加 编程软件:Xcode ,游戏引擎:Cocos2d-x,编程语言:C++ 首先,我们用tiledmap地图编辑器获得地图,tiledmap地图就好像是配置文件,通过tiledmap地图来配置游戏的一些基本设置,比如精灵的摆放 然后将地图加载到层

auto map=TMXTiledMap::create("xxxxxx.tmx");

addChild(map);

根据tiledmap配置精灵的摆放位置,创建一个经理类,主要在将地图坐标转换为世界坐标的时候,地图坐标的原点在位于地图左上角,地图的坐标是这样的:

(0,0)(1,0)(2,0)(3,0)(4,0)

(0,1)(11)(21)(31)(41

(0,2)(1,2)(2,2)(3,2)(4,2)

判断图块的GID(注意:图块的GID是编辑地图时候的ID加上一)

auto sceneLayer=map->getLayer("layer1");

if (sceneLayer-> getTileGIDAt (v) == 30 ) { }
在这个函数里面在ID为29的图块上添加精灵

精灵类里设置一个point类为成员,用于保存位置信息

point类里面有关于A*算法的,F、G、H值,以及父节点,还有用vec2保存地图坐标

在这里设置精灵的point成员,保存一些信息

总结

以上是内存溢出为你收集整理的笔记-----------------------------A*寻路算法全部内容,希望文章能够帮你解决笔记-----------------------------A*寻路算法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1070267.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存