日志

Laya 踩坑日记 ---A* 导航寻路

 来源    2021-01-14    1  

要做寻路,然后看了看laya 官方的例子,感觉看的一脸懵逼,早了半天的api 也没找到在哪有寻路的,最后一看代码,原来是用的github上的A星方案  https://github.com/bgrins/javascript-astar

这就尴尬了,,然后研究了一下,果然还是要unity支持,导出烘焙过的地图信息,在网上找了一些方案,然后自己也做了一下修改和调整,现在给大家发出来,(当做参考用 。。。)

需要unity 插件 A*   (AstarPathfindingProject  )

然后配置好地图,然后烘焙

然后 通过AstartExpLayaTool  /exp json   导出地图的json信息 (json信息 已自动复制到 剪切板中了)

在通过laya 去调用

Laya 这边 将json 信息给存起来然后调用

通过github 把 astar.js 给下载下来,然后放到项目的libs下,编写  .d.ts  辅助文件

declare class astar {
      /**
         * Perform an A* Search on a graph given a start and end node.
         * @param {Graph} graph
         * @param {GridNode} start
         * @param {GridNode} end
         * @param {Object} [options]
         * @param {bool} [options.closest] Specifies whether to return the
                     path to the closest node if the target is unreachable.
        * @param {Function} [options.heuristic] Heuristic function (see
        *          astar.heuristics).
        */
    static search(graph, start, end, options?);
    cleanNode(node);
}

declare class Graph {
    /**
     * A graph memory structure
     * @param {Array} gridIn 2D array of input weights
     * @param {Object} [options]
     * @param {bool} [options.diagonal] Specifies whether diagonal moves are allowed
     */
    constructor(gridIn, options?)
    grid: any;
   
}

declare class GridNode {
    x;
    y;
    weight;
    constructor(x?, y?, weight?)
}

然后编写自己寻路代码就行了

备注:此方案当前性能偏低,将坐标对应矩阵部分有问题,但作为一个参考还是可以的

laya地址  https://gitee.com/eryuefeng/laya-astar-pathfinding

相关文章
微信小程序踩坑日记1——调用微信授权窗口
日志0. 引言 微信小程序为了优化用户体验,取消了在进入小程序时立马出现授权窗口.需要用户主动点击按钮,触发授权窗口. 那么,在我实践过程中,出现了以下问题. 1. 无法弹出授权窗口 2. 希望在用户已经 ...
1
微信小程序踩坑日记4——真机端解析json数组和开发平台不一样
日志0. 引言 环境:访问服务器端php,获取json数组,并渲染在前台 问题描述:保证在开发平台上的正常运行,但是在真机端却出现了无法正确解析wx.request()返回的数据(特指无法解析res.da ...
2
微信小程序踩坑日记3——上传照片至服务器
日志0. 引言 主要解决将小程序端获取的图片保存在服务器上.亲测可用的服务端脚本. 1. 获取照片 通过wx.chooseImage()方法,获取到图片,使用wx.uploadFile()上传图片. wx ...
3
微信小程序踩坑日记2——实时访问数据库并渲染UI
日志0. 引言 主要讲讲对于实时访问数据库并渲染UI我的解决方法. 一开始查到了随让小程序是单线程的,但是有一个基本上是封装的worker线程,相当于可以自己自定义(类似于Android开发里的handl ...
4
JavaScript 新手的踩坑日记
日志引语 在1995年5月,Eich 大神在10天内就写出了第一个脚本语言的版本,JavaScript 的第一个代号是 Mocha,Marc Andreesen 起的这个名字.由于商标问题以及很多产品已经 ...
1
spring jdbc踩坑日记,new JdbcTemplate 为null导致UserDao一直为null
日志private DataSource datasource; private JdbcTemplate jdbcTemplateObject; //设置注入 public void setdataso ...
1
cocos creator踩坑日记
日志踩坑一 问题:项目在构建成Web Mobile后运行在浏览器和微信中,点击页面任何地方都会导致自动全屏 解决:在构建之后的main.js中,去掉 cc.view.enableAutoFullScree ...
3
[踩坑日记]spring mvc
日志找不到javax.servlet.ServletException的类文件 IDEA开发,部署到本地的Tomcat,编译时出现错误. 解决办法:引入jar包依赖: <dependency> ...
1
weex 开发踩坑日记--环境配置、安卓运行、adb、开发
日志环境配置方面 1.需要安装java和android环境,java的话一定要下载jdk而不是jre. 在"系统变量"新建一个变量名为JAVA_HOME的变量,变量值为你本地java的 ...
1
人工智能(AI)库TensorFlow 踩坑日记之一
日志 上次写完粗浅的BP算法 介绍 本来应该继续把 卷积神经网络算法写一下的 但是最近一直在踩 TensorFlow的坑.所以就先跳过算法介绍直接来应用场景,原谅我吧. TensorFlow 介绍 TF是 ...
1
人工智能(AI)库TensorFlow 踩坑日记之二
日志上次 踩坑日志之一 遗留的问题终于解决了,所以作者(也就是我)终于有脸出来写第二篇了. 首先还是贴上 卷积算法的示例代码地址 :https://github.com/tensorflow/models ...
1
docker swarm搭建tidb踩坑日记
日志背景 公司新项目数据量翻了一倍,每天上亿数据量的读写,传统的单库单表已经满足不了目前的需求,得考虑下分布式存储了.那用啥呢,之前有考虑用到mycat,但是一进官网,一股山寨气息扑面而来,技术群进群还收 ...
1
前端系列——jquery.i18n.properties前端国际化解决方案“填坑日记”
日志 前言:最近,新的平台还没有开发完成,原来的老项目又提出了新的需求:系统国际化.如果是前后端完全分离的开发模式,要做国际化,真的太简单了,有现成的解决方案,基于Node构建的时下热门的任何一种技术选型 ...
1
Spring-Boot + MyBatis-Plus 踩坑记录
日志这两天在学SpringBoot+MyBatis的开发,配置开发环境和DEMO的过程中踩了很多坑,在这里记录一下. 我的开发环境是idea + JDK 1.8.0.211. 首先展示一下demo的项目整 ...
1
djangorestframework+vue-cli+axios,为axios添加token作为headers踩坑记
日志情况是这样的,项目用的restful规范,后端用的django+djangorestframework,前端用的vue-cli框架+webpack,前端与后端交互用的axios,然后再用户登录之后,a ...
1
在 ASP.NET Core 中使用 MySql 踩坑记录
日志使用 Pomelo.EntityFrameworkCore.MySql 生成 MySQL 数据库 关于如何使用请查看项目文档即可 组件地址:https://github.com/PomeloFound ...
1
Mysql踩坑 自动更新的时间只允许有一个
日志执行如下SQL创建表: CREATE TABLE aa ( a INT, b TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, c TIMESTAMP DEFAULT CU ...
1
RocketMQ踩坑记
日志一.前言 现在的主流消息队列基本都是kafka.RabbitMQ和RocketMQ,只有了解各自的优缺点才能在不同的场景选择合适的MQ,对比图如下: MQ对比图 本篇文章主要介绍我自己在跑官方demo ...
1
Android 上传开源项目到 jcenter 实战踩坑之路
日志本文微信公众号「AndroidTraveler」首发. 背景 其实 Android 上传开源项目到 jcenter 并不是一件新鲜事,网上也有很多文章. 包括我本人在将开源项目上传到 jcenter ...
1
jQuery升级踩坑大全
日志jQuery升级踩坑大全 背景 jQuery想必各个web工程师都再熟悉不过了,不过现如今很多网站还采用了很古老的jQuery版本.其实如果早期版本使用不当,可能会有DOMXSS漏洞,非常建议升级到j ...
2