个人星火ts使用教程--如何调用自己的ts脚本(新流程)

修改于03/15704 浏览主题教程
前言:之前写了一个调用自定义类的流程,后来跟其他开发者沟通后发现老流程挺绕的,但也还是有一定价值的。所以就新发一个帖子,讲述一下新流程,老教程暂时不改动。大家自己选一个适合自己的看。
条件:教程要求有一定的代码基础。不会的看了其实也不会
主旨:教一些会写ts代码但不熟悉星火环境的小伙伴,让他们在星火内写代码。
教学内容大纲:
  1. 游戏脚本触发流程
  2. 具体操作
  3. 脚本的格式要求
  4. 脚本调用
正文:
1.游戏脚本触发流程
之前用的cocos等引擎,通常是把脚本绑在场景的某个节点。然后开始之后会自动激活节点上的脚本,从而驱使游戏开始。而星火的流程则是:
  1. 创建自定义脚本。(具体操作详见下文,此处先讲整体流程+概念)
  2. 在自定义脚本下,创建自定义函数,去实现自己的功能
  3. 在自定义脚本下,用代码创建触发器,并进行监听
  4. 监听到"游戏-开始"这一事件时,调用游戏相关逻辑
TapTap
2.具体操作
TapTap
点击文件夹[我的地图]右侧的+号,选中[新建自定义脚本文件]
TapTap
输入脚本名称,注意不能跟原有文件重名,比如 小写的main
TapTap
找到脚本文件
TapTap
写代码,并创建触发器,就可以在对应节点触发。因为自己写了触发器,所以就不用在触编内创建触发器了
TapTap
启动后成功调用到了testGlass里面的函数方法
3.脚本的格式要求:
3.1.需要声明在【当前项目的 module】下,详见【项目根路径\script\trigger_module_main_1.ts】这个文件的module。不在这个 module 下写的函数没法被调用。
TapTap
4.脚本间的调用
4.1.自定义脚本的互相调用:
因为所有类都在同一个module下,所以类之间的互相调用不需要import。直接输入类名互相调用即可。如果遇到同个命名空间下调用不了的情况,记得回到编辑器界面上保存。保存的时候编辑器会编译生成.lua.map文件。在拥有lua.map后才会视为在同个module下。
4.2.自定义脚本调用 星火自带库脚本:
要调用 星火自带库 也许要在保存脚本,生成lua.map后才可以。不保存的时候,调用星火自带的类、方法等会报错。
TapTap
在这之后,你就可以按之前在其他引擎上一样,写代码来实现功能了。如果不知道api的话,可以查看下文。
7
5