天工维度魔兽争霸开发者社区-全国最大的TJ集中营-原提百万联盟

标题: 【Seago.】字符串颜色动态变化。Jass [打印本页]

作者: Seago    时间: 2021-1-28 19:15
标题: 【Seago.】字符串颜色动态变化。Jass
本帖最后由 Seago 于 2021-1-28 19:25 编辑

(, 下载次数: 39)
如图所示,随着时间动态改变字符串的颜色。缺点比较明显:会浪费大量的字符串。
花里胡哨的实际价值不大。建议预设写死字符串,不要动态改变,虽然动态改变看起来效果会比较自然。
原理:
文本颜色为|cffffffffXXXX|r形式,其中|c|r都是标识作用,|c后的8位为16进制数的表达。每两位代表一个颜色通道,10进制范围为0-255,即0x00-0xff。前两位代表透明度,文本颜色基本用不到,后六位代表rgb颜色数值。
使用计时器来动态改变颜色,将rgb拆成3个整数即可,改变颜色的本质就是改变这3个整数的大小,然后再将整数转换成16进制数对应的字符串,如255则转成ff,最后进行拼接。
补充:
我是为了计算省事所以将rgb拆成了3个整数进行计算的。数学能力比较好的完全可以当成一个整体进行计算,这样相对来说会比较节省字符串资源。
最好不要8位一起计算。8位16进制对应32位整数,而魔兽里的整数应该是有符号整数,所以实际只有31位有效,可能会出现数值错误。




作者: Oo破破oO    时间: 2021-1-28 19:19
这个很厉害,感觉有用。
作者: Seago    时间: 2021-1-28 19:22
Oo破破oO 发表于 2021-1-28 19:19
这个很厉害,感觉有用。

我感觉写死比较省事点。不是强迫症没必要纠结这种细节,还浪费资源。
作者: 牧少皇    时间: 2021-1-28 19:29
厉害 不愧是大佬
作者: 追风丶    时间: 2021-1-28 19:38
粉少,冷不冷啊
作者: Seago    时间: 2021-1-28 19:47
追风丶 发表于 2021-1-28 19:38
粉少,冷不冷啊

有风少打赏怎么会冷
作者: Oo破破oO    时间: 2021-1-28 20:40
Seago 发表于 2021-1-28 19:22
我感觉写死比较省事点。不是强迫症没必要纠结这种细节,还浪费资源。

我个人觉得  封装的函数   对很多作者都有用   jass代码用的人少   顺便说下  我立马封装了一个颜色字符串  不为别的     就是觉得好玩
作者: Seago    时间: 2021-1-28 21:18
Oo破破oO 发表于 2021-1-28 20:40
我个人觉得  封装的函数   对很多作者都有用   jass代码用的人少   顺便说下  我立马封装了一个颜色字符 ...

有追求的作者应该会自己去学习jass或者lua,而不是等着别人封装t。我不喜欢干脱裤子放屁的事
作者: Oo破破oO    时间: 2021-1-28 23:05
Seago 发表于 2021-1-28 21:18
有追求的作者应该会自己去学习jass或者lua,而不是等着别人封装t。我不喜欢干脱裤子放屁的事 ...

有道理  没必要考虑别人的事    自己学好就OK了
作者: xianshi    时间: 2021-5-21 09:54
谢谢分享 666
作者: Seago    时间: 2021-5-30 18:54
补充一下:如果使用UI的TEXT的显示文字内容,并且需要整体变色,可以直接使用改变文本颜色的函数,可以不用拼字符穿。颜色的本质是一个无符号整数,可以采用16进制的写法,即可与拼字符串时的颜色代码一致。如拼字符时|cffff0000|r,对应的16进制颜色表示即为0xcffff0000
作者: 浅蓝c    时间: 2021-10-14 21:49
谢谢楼主分享!!!
作者: 瀚海漂流    时间: 2022-9-10 04:00
我擦看起来真的不错啊
作者: xjiccdjk    时间: 2023-7-18 13:11
学习一下大佬的写法~
作者: 我是谁你无关    时间: 2024-2-25 15:45
学习英雄联盟手游
作者: nainiu    时间: 2024-6-4 00:11
这个很厉害,感觉有用。
作者: swallowsoul    时间: 2024-6-4 10:17
这个很不错!!!!




欢迎光临 天工维度魔兽争霸开发者社区-全国最大的TJ集中营-原提百万联盟 (http://bbs.mvprpg.com/) Powered by Discuz! X3.4