- 创建了新的统一函数
createKaraokeHighlightLayers:- 这个函数只创建一层高亮层
- 根据设置,在这层高亮层上同时添加范围选择器和CC Line Sweep效果
- 移除了重复的创建逻辑:
- 删除了原来的
createKaraokeEffect_RangeSelector和createKaraokeHighlight_CCLineSweep函数的调用 - 现在只调用
createKaraokeHighlightLayers一次
- 删除了原来的
- 创建了辅助函数
createCCLineSweepEffectForLayer:- 专门为图层添加CC Line Sweep效果
- 这个函数可以被
createKaraokeHighlightLayers调用
- 保持了原有的
createRangeSelectorEffectForLayer函数:- 这个函数现在既用于原歌词层,也用于高亮层
- 通过参数
scaleValue控制缩放值
- 修改了主函数
createKugouStyleLyrics:- 当启用卡拉OK效果时,只调用
createKaraokeHighlightLayers一次 - 这个函数会根据设置自动判断是否添加范围选择器和CC Line Sweep效果
- 当启用卡拉OK效果时,只调用
现在的工作流程是:
- 用户勾选”启用卡拉OK效果”
- 如果同时勾选”范围选择器”和”效果”,只会创建一层高亮层
- 在这层高亮层上同时添加范围选择器(文本动画)和CC Line Sweep效果(效果控件)
- 如果只勾选其中一个,也只会创建一层高亮层,只添加对应的效果
这样就避免了创建两层高亮层的问题,同时保持了所有功能的完整性。

原文链接:https://new.freehpcg.com/archives/21555,转载请注明出处。

请先 !