创建自定义单位属性及实时显示单位属性的信息面板
2023/12/21464 浏览案例分享
最终效果看视频,模仿war3创建了三个自定义单位属性(数值)力量、智力、敏捷分别与生命值、魔法值、护甲值挂钩,并且需要判定但是是智力英雄还是力量或者敏捷英雄,将攻击与主属性挂钩,最后创建了一个可以实时显示单位信息的面板。
我还是处于学前班水平,最近看了很多大佬视频,终于第一次捣鼓出了自己想要的效果,分享给大家,觉得太简单的请无视,哪里有错误或者有更简便办法的欢迎指教。
![TapTap](https://img2.tapimg.com/moment/etag/FqvWAdkMYhRPIuaBR3EgiibL1EPo.jpg?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
数据编辑器中选常量配置,右侧单位属性类型(数值)新建了三个新的类型力量、智力、敏捷。
![TapTap](https://img2.tapimg.com/moment/etag/FpDSYIRNbF_tDDaNWGIm9JKss_pd.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
这几项我也不知道有什么用,随便填的,数据类型只有一个数值
![TapTap](https://img2.tapimg.com/moment/etag/FsvVwlSiXZr-UVvs1paBgAymS53a.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
点击左上角小齿轮,选上游戏机制设置
![TapTap](https://img2.tapimg.com/moment/etag/Ftlb1eMjCvUyRC_wGZrJx0Kww-2t.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
点击默认全局游戏机制配置,新增自定义单位属性
![TapTap](https://img2.tapimg.com/moment/etag/Fr7Gu5UUtUuS0uJLz8EAz5pQnW4k.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
引出新建节点,选自定义单位属性
![TapTap](https://img2.tapimg.com/moment/etag/FsPOjmbSjK9XM4GAhNX136HtSwFo.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
我是想要将力量与生命值挂钩,1点力量额外增加19点生命,使用自定义属性公式勾选上,选力量
ps:左边的是被影响的属性,右边连线新建的是影响左边属性的其他属性,不要弄混。
下面点编辑函数
![TapTap](https://img2.tapimg.com/moment/etag/FrX5xVy1JURzNT3FAOmgpsOvgrow.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
什么时候用基础值,什么时候用最终值,我还分不太好,反正我就是这样选择的
![TapTap](https://img2.tapimg.com/moment/etag/FlOoPpbQtf5Oi3hVoMg8X6wANcHa.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
攻击属性我想要加个判定,如果是智力英雄的话攻击就与智力挂钩,力量、敏捷同理
![TapTap](https://img2.tapimg.com/moment/etag/FtYKJv8_UYtJLxfST1_hSeU3QuEm.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
单位初始属性(字符串)写上智力
![TapTap](https://img2.tapimg.com/moment/etag/FstPFJcI_AKlW5pz5bGYHZCfHIWh.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
回到游戏机制配置继续编辑函数
![TapTap](https://img2.tapimg.com/moment/etag/FlHXnF0NEczsdTcLy-ML33AhMz4v.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
用分支(switch)做一个选择
![TapTap](https://img2.tapimg.com/moment/etag/FvztntNUd4qL4pOhA0B90tlCpwgi.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
分支(switch)的表达式选择如图
![TapTap](https://img2.tapimg.com/moment/etag/FkSRXYGLtOthQV4k04kuo7CJuj1l.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
不能选择这一项,原理我还没弄清楚
![TapTap](https://img2.tapimg.com/moment/etag/FqK5zfO8Ouj7fYccqQmV49v9kjal.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
下一步,从界面编辑器制作一个这样的面板,背景用的是矩形,其他都是文字也就是label格式
![TapTap](https://img2.tapimg.com/moment/etag/FlPzZp3ixpElR5E5m09W0QeJtCk0.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
在触发编辑器-客户端,写这样一个函数用来将单位的属性与界面编辑器的文字绑定
![TapTap](https://img2.tapimg.com/moment/etag/FubzEQ4JNbCkXyqpZpsrFYSN0aNk.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
在触发编辑器-服务端,新建一个自定义事件用来更新单位属性,勾选自动转发,新建参数选单位
![TapTap](https://img2.tapimg.com/moment/etag/FqTqiKO5oJkdr-Tl4hN7SVuPrYhv.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
游戏开始时,发送自定义事件,将玩家主控单位的属性信息发送至客户端
![TapTap](https://img2.tapimg.com/moment/etag/FtlL96mY7NxT-4iBL8VRD_mHneaq.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
属性变化时也发送自定义事件,更新属性信息
![TapTap](https://img2.tapimg.com/moment/etag/FgbkeLBV_ACUO9OnDyXdGfJOOiSY.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
客户端新建触发,用来接收自定义事件,触发更新英雄属性面板的函数
![TapTap](https://img2.tapimg.com/moment/etag/FspqPzgdu63b5LiHuJTgnq5auDTT.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
![TapTap](https://img2.tapimg.com/moment/etag/Fn7AOJU4RdtJBQWBG1OhyMbAYe1Q.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
制作了技能及装备来更改单位属性用来测试是否符合预期
最后的一点疑惑:
![TapTap](https://img2.tapimg.com/moment/etag/Fsdo6NmrYO4_8KWGOdwii78RlNSS.png?imageMogr2/thumbnail/1080x9999%3E/quality/80/format/jpg/interlace/1/ignore-error/1)
我的初步思路是,将文字绑定到单位属性这里,但是调试时不能正确显示,只有在属性变化时才会出现
不理解,求解答