下载 App

个人星火ts使用教程--如何调用自己创建的自定义类的内容

精华修改于2023/09/181410 浏览主题教程
前言:今天给大家带来一个ts相关的教程。因为官方的自定义脚本教程少了点东西。
像我当初看完还是不太懂怎么用。
条件:教程要求有一定的代码基础。不会的看了其实也不会
主旨:教一些会写ts代码但不熟悉星火环境的小伙伴,让他们在星火内写代码。
教学内容大纲:
1.游戏脚本触发流程
2.利用自定义脚本,在游戏开始时调用main函数
3.脚本的格式
4.脚本间的互相调用
5.按自己的需求写各种类、函数、变量来实现功能
6.其余注意事项
正文:

1.游戏脚本触发流程

之前用的cocos等引擎,通常是把脚本绑在场景的某个节点。然后开始之后会自动激活节点上的脚本,从而驱使游戏开始。
而星火的流程则是:创建自定义脚本文件+函数,添加一个游戏开始的触发器,来触发游戏的Main函数。同时,在代码结构上也与之前遇到的有些许不同,详见下文。
TapTap

2.利用自定义脚本,在游戏开始时调用main函数

先按官方教程V2触发器手写TS、lua代码 | 星火编辑器文档 (xd.com)先创建一个Mian脚本,并在触发编辑器内调用。
后面再根据自己的需要补充内容添加到Main函数中,将Main作为主函数去进行游戏的初始化等操作
TapTap

3.脚本的格式

3.1.之前写的脚本通常以类为最小单元,每个脚本基本都是一个类。格式通常都由引用声明、类的具体内容构成
TapTap
3.2.而星火的则略有不同。
星火的脚本需要声明在【当前项目名的同名模块】下,详见【项目根路径\script\trigger_module_main_1.ts】这个文件。
TapTap
且脚本内容为【命名空间】-【常规类class+数编交互函数】。
当然如果你的类只有类之间的交互,不用跟数编交互,则不用数编交互函数。
TapTap
命名空间的格式:module 空间名称{   }。
命名空间直接复制【项目根路径\script\trigger_module_main_1.ts】这个文件的命名空间即可
TapTap
数编交互函数的格式:export let 函数名:()=>void   =():void=>{   }
举例:
如果函数名是  createrUnit, 
变量为  unitName:string
返回值 类型 为Unit。
则函数为 ------  export let createrUnit:(unitName:string)=>Unit=(unitName:string):Unit=>{    }
TapTap

4.脚本间的互相调用

4.1.脚本之间的互相调用
因为各个类都在同一个命名空间下,类之间的互相调用  不需要import。之间输入类名互相调用即可。
如果遇到同个命名空间下调用不了的情况,记得回到编辑器界面上保存。保存的时候编辑器会编译生成.lua.map文件。在拥有lua.map后才会视为在同个模块下。
TapTap
4.2.脚本调用 星火自带库
脚本要调用 星火自带库 也许要在保存脚本后才可以。不保存的时候,调用星火自带的类、方法等会报错。

5.在之后,你就可以按之前在其他引擎上一样,写代码来实现功能了

如果不知道api的话,可以查看下文【6.1-用触发编辑器写函数,查看APi】
TapTap

6.其他注意事项

6.1先用触发编辑器写函数,查看APi
这一步的话,主要是当你写代码找不到API的时候,可以用该方法,看一下触编用的api是哪个,然后搬用它的API。
比如:
我不知道怎么生成单位,就在触发器写【生成单位】的函数
我不知道怎么隔时间触发动作,就在触发器写【隔时间做xx】的函数
TapTap
编辑完毕后保存,让编辑器编译。
触发编辑器编译的内容会出现在   项目\script\trigger_module_main_1.ts  这个文件中。
实验后,这样获取api有时候会比在库里查找要快,因为你不能确定该函数在哪个类里。
TapTap
6.2.由于星火编辑器的实际流程是 将ts转化为lua再运行,所以ts最好是严格模式,否则在某些情况下会出现莫名的bug。
比如:泛型函数一定要补齐类型。像这个<number>一定要补上,否则在转化为lua的时候,id会被填到number的位置上,而number的位置会留空,导致报错。
TapTap
6.3.前端代码:
前端与后端的结构相同。
不过后端的代码放在 【项目/script/xxxxx】,前端的代码放在 【项目/ui/script/xxxxx】
前后端代码的同一功能的api有时候名字是不同的。如果找不到对应的api,记得用6.1方法查找
目前总结的就这些,希望能帮到部分从其他引擎转过来的小伙伴
00:39
文本标记的应用:物品装备套装效果显示截图
文本标记的应用:物品装备套装效果显示
前言: 首先感谢群里的各位大佬指点,@小虫@爱死寂寞@灰……(其他大佬不在一一列举),才有了这篇文章。本人小白,教程不足之处还请各位大佬指点,没错指指点点[表情_狗头]。 物品套装效果显示的应用 1. 实现思路 首先说一下文本标记的用法,文本是可以通过一些代码来改变颜色,加粗,倾斜等操作。比如我把【测试文本】加上颜色代码<#831515:【测试文本】:>,就会改变颜色,游戏中仍然适用。 然后
24 赞
8 回复
「自制卡牌游戏DIY」进入主线关卡页面截图
「自制卡牌游戏DIY」进入主线关卡页面
#星火编辑器 #星火编辑器入门 #星火编辑器小功能分享教程 我正在尝试使用『星火编辑器』制作一款卡牌游戏。 在前面几期,我们完成了主线选关功能的设计与制作,并且添加了提示消息滚动条的UI交互功能。今天继续平稳行驶,完善玩家从开场到进入主线选关界面过程中所需的触发器和方法。 点击关卡按钮的事件已经有了,我们还要为进入关卡的按钮创建对应的点击事件(P2) 新建一个为进入关卡按钮创建点击事
4 赞
星火三消之三连检测截图
星火三消之三连检测
上一回完成了消块实例化的显示(P2)(https://www.bilibili.com/video/BV1qLeUzKEHS?spm_id_from=333.788.recommend_more_video.0&vd_source=f9c1188016e81eabc613ade954e6d482),红框部分可以看到随机生成的消块构成了三连、四连。 为了避免这一情况我们在生成消块前加入对随机到的消块
3 赞
1 回复
2025年8月8日更新日志【13版本】截图
2025年8月8日更新日志【13版本】
星火编辑器开发团队正在全力研发基于C#的、深度整合AI能力的2.0版本 与此同时,我们也会对当前的13版本保持长期的支持 本次我们对13版本进行了更新和问题修复,相关更新已同步至外网13版本和线上13版本 流式加载Prefab 在数据编辑器-地图设置-高级属性中增加了「流失加载Prefab」功能,此功能可以显著的提升场景、资源较多的游戏的加载速度。 我们选择了部分资源非常多、场景非常大的游戏进行测
官方
22 赞
8 回复
星火教程--excel导表示范截图
星火教程--excel导表示范
说明:针对 https://www.taptap.cn/moment/440830993054564607 工具的一个简单的导表范例demo demo链接: https://pan.baidu.com/s/1FZPJvxxgjIcyEsNRprJZMw?pwd=23n1 提取码: 23n1 补充说明:前端没有表格数据,需要的话,初始化完毕后,自己把表格数据传到前端。
1 赞
3 回复
无须申请,星火编辑器现已公测开放下载截图
无须申请,星火编辑器现已公测开放下载
—————————————————— 各位关注星火编辑器的小伙伴: 感谢大家一直以来对编辑器支持! 破晓已去,曙光降临! 星火编辑器现已开启公测! · 关于下载和资格申请 现已无需申请,请去下面的官方首页直接下载! 缘起测试是星火编辑器自诞生以来第一次对外测试! 从2022年八月开始到十一月,历时三个月。 缘起之后缘聚测试,历时又七个月! 缘聚之后,破晓降临,历时又十二个月! 曾经微弱的星火现已渐
官方
324 赞
374 回复
开发者日志#9截图
开发者日志#9
正在狠狠的借鉴别人的游戏(bushi)[表情_斜眼笑]
开发者日志#10截图
开发者日志#10
小小的优化了一下UI 以及 新机制的展示
2 赞
开发日志#07截图
开发日志#07
本来打算一周内添加[火/草/风/雷]4个派系的角色和卡牌的。结果上周摸了[表情_酷]然后就没做完[表情_嫌弃] 新增4个派系的角色,还没调完。新的一周得加把劲
1 回复
「自制卡牌游戏DIY」点击与选中反馈截图
「自制卡牌游戏DIY」点击与选中反馈
#星火编辑器 #星火编辑器入门 #星火编辑器小功能分享教程 #星火编辑器案例 我正在尝试用『星火编辑器』创作一款卡牌游戏。 前面两期我们完成了战斗界面UI相关的设计,但是还没有编写相应触发器逻辑。今天我们尝试从简单的点击与选中反馈开始,将游戏内需要的各种功能和效果一步步实现。 在很多如P2这样的优秀游戏中,都有细致的操作反馈。例如当玩家选中己方/敌方单位,该单位脚下会出现绿圈/红圈。当单位移
1 赞
1 回复