各式小技巧合集(持续更新中)
目录:
- 生成随机长度cd-key
- 快速筛选数组中所需元素
- 设置无限等级的强化成功率
- 文本格式设置<部分>
- 魔改现有飘字样式(血条已有教程)
- 塔防模板三消实现(附上如何改成通用函数)
- 实现技能自定义变大小
生成随机长度cd-key
快速筛选数组中所需元素
设置无限等级的强化成功率
文本格式设置<部分>
魔改现有飘字样式(血条已有教程)
塔防模板三消实现(附上如何改成通用函数)
实现技能自定义变大小
排序教程 排序
代码小基础 代码
生成随机长度cd-key
看群里有些需要生成随机cd-key就写个c++函数方便大家生成,希望以后大家多多关注我们的项目,马上也会开启测试,也就是之前群里唯一开源的那个开源项目(点击可跳转)
功能可以按自己的要求调整生成任意长度任意数量cd-key并存入csv文件中同时打印所需时间(别太长可能性能会爆,可以参考注释上的)
百度网盘 提取码:vttq
快速筛选数组中所需元素
如何从一个数组中快速筛选所需的元素,并导入到另外一个数组中呢,示意图如下
身上有2,5,7buff,可显示buff库有1,2,3,4,5,6,现在我们想将buff库中含有的buff显示出来,即显示2,5,没有7
如图所示建立一个字符串类型的buff库数组,和一个map<字符串,数字>类型的buff库_map.实际操作可以根据需求灵活调整
初始化buff库数组
如图所示建立arr_1(随机生成三个buff)
初始化buff库元素到buff库_map里面,方便查询,若存在则设置值为1
调试输出arr_1所含元素
遍历arr_1数组,将buff库_map里对应1值存在的buff添加到arr_2中
最后调试输出结果
如上图调试两次成功之后,arr_2中包含了我们想要的buff,利用map我们可以快速判断数组中是否含有该元素,而不需要遍历数组一个一个判断,即为经典的空间换时间操作
提取码:9nom
设置无限等级的强化成功率
如图建立一个强化级别,设置为数值
我们可以知道当x趋于无穷时,arctan(x)趋于π/2,那么我们可以利用这个特性来设置无上限等级的强化概率,已知arccos(0)=π/2,那么当x为正值时,arccos(0)-arctan(x)永远大于0,小于π/2(因为arctan(0)=0),且当x越大时,此函数的值越小,那么设置一个合适的初值之后,按图所示,就可以建立无上限等级的强化概率且永远大于0;
附上此函数强化概率excel表在百度云盘里;
所有小技巧都已放在这个链接里
提取码:sh90
这里使用图片替代
魔改现有飘字样式
(血条有了我就不写了,和这个一样也是魔改了现有的,据官方所示下次更新可以自定义增加了,目前好像还不行5/7)
首先备份你的项目,或者新建一个项目进行试验,
打开项目文件夹下的game_hud文件夹,打开其中的acriselettertemplate.json文件
我们打开这个文件选择魔改使用较少的累计伤害
将font改为你想要取的名字,color改为你想要的rgb颜色,
此处举例改为"Color": [ 226,29, 29, 255 ], // rgba "Text": "12345", "Font": "六倍暴击",颜色为红色
"AddTimeLimit": 0.1, // 可累加的时间段限制,
此处改为了0.1,即0.1s内累计伤害
动画可自行添加
再打开文件夹下的riseletter文件夹,加入你想要增添的飘字种类,以六倍暴击为例,将物理文件下的所有图片复制过来,
打开星火编辑器
在常量配置这加入伤害类型为 六倍暴击,
在游戏机制这加入自定义伤害类型为六倍暴击,修改飘字为 累计ad
再把普攻模板伤害结点伤害类型改为六倍暴击,此时大功告成
调试查看我们的飘字已经是我们想要的rgb颜色了
当然你还可以更改game_hud\riseletter\六倍暴击,中每个字体的样式要花式更改
塔防模板三消实现
图文链接在这三消合成的基础写法
效果如视频所示
那么如何将三消改成函数呢?,实现复用提高效率
我们需要先明确需要传入什么参数,既然要改成通用的,那么就需要知道当前建造的单位是什么,建造的单位如果合成后是什么单位,以及当前的坐标是多少,还有需要的搜索范围,我们将这四个参数传入,基本就可实现函数的通用性,剩下的与直接在触发里写就差不多了,如图所示
实现技能自定义变大小
如何实现设置一个技能能自定义变大小,并渐变恢复原状呢?
首先创建一个技能模板,添加一个标准buff模板,在初始效果和完成效果各挂上一个自定义效果结点,在初始效果结点
我们更改模型的大小,并将模型大小传递到单位属性上,因为数遍表,单位缩放获取的值并不对,所以为了拿到这个值,我们将这个值传递到单位属性身上,可以自定义一个属性值或者利用一个用不到的属性值,再在完成效果结点,我们获取单位身上的这个属性值,设置为模型大小,利用计时器,渐变更改模型大小,效果如视频所示