星火编辑器物品在地上显示名字(新方法)
各位大佬好,上次写过一个在地上显示装备名字的教程,后来进行了优化,这次用了另一种方式写,个人感觉这次更加适用,仅供参考。
我的物品(装备、药品、材料等等)掉落都是在服务端“任意单位死亡时”进行创建。那么围绕它我这次采用的是“任意物品创建时”的触发在实现。
在服务端写“任意物品创建时”
装备名称组合方式,词缀为“持有”词缀,在创建装备添加词缀的时候进行保存词缀名称。
服务端写好发送的事件
客户端接收服务端发来的事件
因为发送过来的是“物品在地上的单位”,无法直接获取颜色,需要通过品质转成颜色。
通过获取的名字
接收到事件后进行显示UI
以上是显示名字UI
--------------------分割线-------------------------------
那么接下来是捡起物品后需要销毁UI(不然会发现物品已经被捡起来了,但名字附着UI还在地上的情况)
那么可以在创建附着UI的时候进行保存至简单表里,然后在获取物品的时候进行销毁UI,即可解决此问题
因为金币是自动获取,且金币是获取生效的物品,不会在背包里产生物品,所以无需有等待时间,而其它物品需要等待0.1秒后进行销毁附着UI,删除元素,因为玩家背包存档的物品在上线后还原物品也属于创建和获得,会让触发很快跑了一遍,如果没有等待时间,会出现玩家上线后当前坐标处会有很多背包里物品的附着UI,而0.1秒就是为了等待它创建再来删除。
以上是创建物品显示名字附着UI,捡起物品销毁名字附着UI。
---------分割线--------------
那么丢弃物品在地上时,将没有名字,我们可以在丢弃按钮写一条客户端触发,不需要发送给服务端。
当触发这条自定义事件时,将会再次创建名字附着UI
到此结束,创建物品时创建名字附着UI, 捡起物品时销毁地上的UI, 丢弃物品时再次创建UI。
最后上视频看效果