EasyBox3Lib
一个适用于大部分地图的通用代码库。
由EasyBox3Lib.js、config.js以及其他扩展库组成
所有文件可以在script文件夹查找 警告:该库可能存在不稳定性,因该库出现的任何损失,库作者一概不负责!
使用
安装EasyBox3Lib.js、config.js
- 添加主文件:复制/script/EasyBox3Lib.js中的全部内容,并粘贴在地图内的一个空的脚本文件内,如
EasyBox3Lib.js。 - 添加配置文件,创建一个新的脚本文件,命名为
EasyBox3Lib.config.js(不要命名为EasyBox3Lib.config或者EasyBox3Lib.config.js.js,这样无法读取),并将/script/EasyBox3Lib.config.js复制到EasyBox3Lib.config.js中 - 在
index.js的开头加上以下代码(EasyBox3Lib.js改成脚本文件的名称):
const $ = require('./EasyBox3Lib.js');// “$”可以改为其他内容,只要不冲突,你在这里用的什么第5步就用什么
- 在需要调用库的其他代码文件(你自己写的)开头加上以下代码:
const $ = EasyBox3Lib;// “$”可以改为其他内容,只要不冲突,你在这里用的什么第5步就用什么
- 使用
$来调用库中的方法
ps:$ 可以改为其他内容,只要不冲突
安装扩展库
注意:S-C-Link_client.js放在客户端脚本里!
- 安装
EasyBox3Lib.js、config.js - 添加扩展库文件:复制扩展库文件中的全部内容,并粘贴在地图内的一个空的脚本文件内,如
Behavior.js(命名不重要,不影响使用,但建议改成对应扩展库名称)。 - 如果是服务端,在
index.js的开头加上以下代码(扩展库.js改成脚本文件的名称):
const 扩展库 = require('./扩展库.js'); // “扩展库”可以改为其他内容,只要不冲突,你在这里用的什么第5步就用什么
如果是客户端,在clientIndex.js的开头加上以下代码
import * as SCLink from "./S-C-Link_client.js";// “SCLink”可以改为其他内容,只要不冲突,你在这里用的什么第5步就用什么
- 在需要调用库的其他代码文件(你自己写的)开头加上以下代码:
const $ = 扩展库;// “$”可以改为其他内容,只要不冲突,你在这里用的什么第5步就用什么;扩展库改为扩展库名称(为扩展库在仓库里的文件的名称,没有文件名后缀。)
如果是客户端,重复第3步或者跳过该步 5. 使用 $ 来调用库中的方法
注意
EasyBox3Lib.js及扩展库中会自动创建全局对象global.EasyBox3Lib等EasyBox3Lib.js在Pro编辑器中会自动创建Box3开头的全局对象,例如global.Box3Vector3。所有Game开头的全局对象都会创建,例如GameVector3,前提是在require之前就存在与global对象之中
在Pro地图和旧岛地图安装和使用大体上无异(当然也可能在一些方法返回值不同,那是我忘了,自己发Issues)
S-C-Link的客户端版不会创建全局对象,请注意
S-C-Link的客户端版主要作用是配合其服务端版,仅会提供少量API。所以你如果不需要这些API,可以跳过上文第4步
S-C-Link的客户端版提供了两个方法输出错误内容,一个是throwError,另一个自己找,最好用第一个
开发文档
https://qndm.github.io/EasyBox3Lib/
协助开发
可联系qndm,或者发Issues和Pull requests
开发规范
版本 & 更新日志
无法打开开发文档
可以看JsDoc(打开库文件,把鼠标移在方法/类定义处)
你要是连Github上的文件都打不开,请尝试修改DNS、hosts,或使用加速器
关于链接404问题
如果你通过Github Page生成的页面(qndm.github.io)打开此README文件,大部分的链接都会404
请访问 https://github.com/qndm/EasyBox3Lib 查看README文件
暂时没有什么好的解决方法:)