下载 App

实用教程-让对象有更多姿势-拓展方法添加教程

修改于2024/04/02543 浏览综合

星火Ts互助开荒QQ群:864876168

看到就是赚到,掌握学会这个价值不可估量的技巧可以让你少走N年弯路
TapTap
为星火基础类添加方法
此篇教程属于进阶教程,不理解的话先看一下这篇大神写的 个人星火ts使用教程
关于TS的编程问题不另作赘述。
众所周知,星火的类是封装后看不到源码也无法修改的,比如下面是类_物品栏(
class Inventory)的定义,只能看到参数和返回值的定义
TapTap
TapTap
此时如果我要为该类添加一个拓展方法在使用时将会极大的方便我们写程序,同时也更符合面向对象的编程方式,而不是面向过程。
TapTap
新建一个自定义文件夹,修改为TS脚本
TapTap
写下该方法的接口,具体定义看图
TapTap
具体定义方法
到此,基于ts的拓展方法已经写完,接下来如果是写TS的话就可以直接引用方法了,如下图
TapTap

不使用触发的观众可以直接拉到最下面了

接下来是触发里使用的方法有两种,一种是脚本调用,这种方式无需再做额外的事,但是缺点是要记住函数名字
TapTap
接下来是第二种方法,直接定义物品栏的成员函数,好处是可以和原生的方法一样直接选用,缺点是添加比较麻烦,希望以后拓展方法可以加起来更简单点
TapTap
显示依赖库,找到物品栏,添加成员函数
函数名以及参数和返回值严格按照TS里定义的来写
TapTap
方法1和2按照3删去不必要的参数或返回就可以了
触发里选择调用
TapTap
方法1没有返回值,我就不转换直接调用了
这里我看到方法2是没有参数的,但是上面触发【脚本】调用没有报错所以我也没发现,说明脚本有一定的容错性,这里我把脚本调用里的方法2参数删去了,严谨[表情_酷]
运行,完全没问题
TapTap
以上两种方法全部调用成功
这里我讲了函数的添加方法,拓展属性的添加各位也可以试试,差不多的哦[嗒啦啦2_经验+3]
本来研究触发弄拓展方法是想可以写一点拓展方法用于分享,不过现在看来在触发里添加的方式有点麻烦,因而分享触发拓展方法也就变的不现实了,但是TS里就非常方便,一个文件就能共享了,所以写TS的可以加群分享以及被分享[表情_斜眼笑]
附送一个获得背包格剩余格子的拓展方法,可以直接使用
interface Inventory {   
获得空格数量(): number;
}
Inventory.prototype.获得空格数量 = function () {   
let n: number = 0;   
let slotArray: Array<Slot> | undefined = this.slots;
    if (slotArray !== undefined) {       
for (let [k, v] of base.ArrayIterator(slotArray as unknown as Array<Slot>)) {           
if (v.item == null) {
               n = n + 1;           
}       
}   
} else {       
log.warn("未找到slotArray")       
return -1;   
}
    return n;
};
星火Ts互助开荒QQ群:864876168
群内有方便星火开发的实用工具分享
星火编辑器-修改官方预制自定义物品信息模板截图
星火编辑器-修改官方预制自定义物品信息模板
大家对DIY物品信息显示都很热衷,但是在具体实现上还是比较费神费力的,这次的更新将会极大程度上减少开发者的困难,而且非常好用。 首先,需要将编辑器更新到10版本,这次的更新官方重构了物品提示信息面板,并在界面编辑器中加入了7个全新的页面: 我们所要修改的页面主要是【物品信息_物品信息模板】中的【物品信息】控件: 其中【上部属性面板】就是背包效果,【下部属性面板】就是装备效果 这两个不需要管它,我们
18 赞
3 回复
星火编辑器客户端物品获取属性值的方法截图
星火编辑器客户端物品获取属性值的方法
物品添加属性分两种情况 1:设置额外属性 2:添加词缀 各有各的优缺点。 本次主要讲的是添加词缀如何在客户端获取属性值。 第一种情况:词缀buff里的属性值是设置好的固定值。 这类添加给物品后,在客户端获取就很容易。 因为添加的词缀是“装备”词缀,只需要遍历指定的装备词缀列表这条语句,获取到buff_id 再直接将buff_id通过转化成(数编表:buff),再对数编表buff里的属性修改里去获取
9 赞
35 回复
「自制卡牌游戏DIY」战斗抽卡系统(1)截图
「自制卡牌游戏DIY」战斗抽卡系统(1)
#星火编辑器 #星火编辑器入门 #星火编辑器案例 上一期我们完成了游戏的核心功能——战斗抽卡系统的设计,并将主要设计梗概用思维导图的形式清楚呈现。今天我们要着手开始用触发器编写逻辑,实现这个游戏核心玩法系统。本期车速较快,请站稳扶好! 首先我们先做好前置准备,确保已经有了“标准卡牌”类以及足以存储卡牌所需信息的各个成员变量(P2) 同样的,确认玩家信息类里面已经有了这三个“标准卡牌”数组
1 赞
新版的背包存档截图
新版的背包存档
舍弃老版超长代码逻辑还不好用的背包存档。想多少个格子就多少个格子不用一个格子创建一个变量,不用写一堆繁琐重复的代码。适用性更强,支持恢复到指定格子,多背包恢复 主要实现核心围绕云变量表这个类型变量来进行处理、获取用户背包栏,循环背包栏获取指定背包栏的物品存入云变量表,然后提交。 读取的话反之也是获取的云变量赋值给云变量表,循环读取背包栏并且获取格子,在将物品放入指定格子 最后附上demo地址 h
36 赞
5 回复
00:36
2025年6月18日更新日志&2.0版本前瞻截图
2025年6月18日更新日志&2.0版本前瞻
星火编辑器发布了新的编辑器版本:13 除部分严重BUG修复会覆盖旧版本,以下新功能均在编辑器版本13中生效 开发者可以在编辑器顶部菜单-编辑器版本中进行版本切换 字体相关【非常重要,必看】 编辑器内去除了可选的字体选项,只保留MiSans这一字体(常规+粗体共计14MB),预期这样的改动会让新用户下载的资源减少约100MB本次和字体相关的改动有如下影响: 对于13版本发布的游戏,只保留MiSans
15 赞
8 回复
无须申请,星火编辑器现已公测开放下载截图
无须申请,星火编辑器现已公测开放下载
—————————————————— 各位关注星火编辑器的小伙伴: 感谢大家一直以来对编辑器支持! 破晓已去,曙光降临! 星火编辑器现已开启公测! · 关于下载和资格申请 现已无需申请,请去下面的官方首页直接下载! 缘起测试是星火编辑器自诞生以来第一次对外测试! 从2022年八月开始到十一月,历时三个月。 缘起之后缘聚测试,历时又七个月! 缘聚之后,破晓降临,历时又十二个月! 曾经微弱的星火现已渐
官方
325 赞
375 回复
22:58
星火写轮眼-技能系列006-刀塔2-双头龙截图
星火写轮眼-技能系列006-刀塔2-双头龙
星火写轮眼-技能系列006-刀塔2-双头龙
2 赞
2 回复
02:24
2022 TapTap 游戏发布会|星火编辑器截图
2022 TapTap 游戏发布会|星火编辑器
官方
88 赞
25 回复
「自制卡牌游戏DIY」战斗抽卡系统(2)截图
「自制卡牌游戏DIY」战斗抽卡系统(2)
#星火编辑器 #星火编辑器入门 #星火编辑器案例 在上期内容中,我们从卡牌状态的切换打开思路,将从卡池中刷新场上卡牌逻辑用触发器一步步实现,并通过洗牌的方法确保玩家从入场卡池中刷出的卡牌具有随机性。但在此之后系统还需要将抽取的卡牌替换为新卡,并为抽到的法术卡添加法术,方可将刷出卡牌的信息完备地打包给客户端以呈现给玩家,而这正是今天要做的。话不多说,来吧。 接着上期,在对卡池中未抽取的卡牌进行
2 赞
2025年8月8日更新日志【13版本】截图
2025年8月8日更新日志【13版本】
星火编辑器开发团队正在全力研发基于C#的、深度整合AI能力的2.0版本 与此同时,我们也会对当前的13版本保持长期的支持 本次我们对13版本进行了更新和问题修复,相关更新已同步至外网13版本和线上13版本 流式加载Prefab 在数据编辑器-地图设置-高级属性中增加了「流失加载Prefab」功能,此功能可以显著的提升场景、资源较多的游戏的加载速度。 我们选择了部分资源非常多、场景非常大的游戏进行测
官方
22 赞
8 回复