本教程分两部分,原理部分可以直接阅读,只要读懂了自己动动手就可以实现了,蘑菇币部分会放出具体的代码以及相关的图片资源。
首先,这个并不是使用原生的方法直接在客户端画出数字,而是借用了一点小技巧实现的。
我们在浏览 wz 资源的时候可以知道右上角的技能冷却时间的阴影并不是用API绘制的一个阴影图层而是直接拿图片盖在上面的。
这些阴影图片的位置位于 UI/UIWindow.img/Skill/CoolTime
你可以通过 StringPool 很容易查找到这个字符串的 StringPool ID 然后用 IDA 在客户端中定位到相关代码
简单读一下伪代码加上阴影图片总共就15张,再加上客户端实际的效果,基于这三点我们可以很容易猜出客户端的逻辑就是:通过计算剩余时间来获得实际的阴影图片路径,然后贴在 buff 上。
那么我们可以获取的信息有两点
- 计算剩余时间 这一段我们可以串改,按我们的需要来计算
- 我们可以篡改 StringPool 的返回值来篡改图片路径
那我们只需要自己创建 60 张阴影图片,给每张图片加上 1~60 的数字表示倒计时的1~60秒,然后基于上述两点对客户端进行修改就可以实现 buff 的倒计时效果了,下面是效果图
[attach]51[/attach]
我这是让群友用 AI 帮我画的 120 张图,当时间大于 1 分钟时,会在左下角显示分钟倒计时,此时无阴影,当时间进入 60 秒倒计时的时候,时间会显示在中间,并附带阴影效果。
页:
[1]