当前位置: 首页 > news >正文

Unity引导遮罩系统

需要游戏运行到某节点,一般是新解锁某功能,出现遮罩,只有指定的按钮能按。

我们已经知道只开放部分区域的UI遮罩的实现。现在需要设计如何把一个引导流程设计配表,反序列化。

一个引导流程由若干个点击引导组成。每个有一个屏幕某位置某大小的矩形,还有一个引导字符串。这个矩形的位置和大小我们可以直接填到配表里,也可以直接从它露出的按钮获取。但是要从按钮获取必须在配表写清楚是哪个按钮,那么必须给游戏所有按钮打一个id。

不过我们也可以只给有可能被引导的按钮打id。

然后为了让引导说明出现在合适的位置,还需要在配表填这个文本框的位置。

然后想象我们刚解锁了一个新功能,我们在程序的此位置发布一个事件。也可以不用事件,就去玩家数据里检查这个功能有没有解锁,刚解锁就触发它相应的引导流程,显示遮罩,然后玩家点击这个按钮的回调事件加一个引导前进到下一步。

或者用事件,游戏运行到某节点,发布某事件名的事件,那么引导配置里加一个此段引导要监听的事件名。

我们要把《显示下一步引导遮罩》的方法加入玩家要按的按钮的回调。那么程序必须知道要给哪个按钮加回调。我们发现还是免不了给按钮加ID。不用全加,只给可能被引导按的按钮加一个组件GuideButton,里面填上GuideID。那么前面引导配表里也就填按钮GuideID就行,显示遮罩直接通过GuideID获取按钮,再获取位置和大小。

怎么通过GuideID获取按钮?FindObjectsOfType可以,想象我们刚解锁了一个新功能,需要显示遮罩,然后根据事件名从配置里读取这组遮罩的配置,然后看第一个遮罩的按钮GuideID,这些是遮罩控制器的工作,遮罩控制器需要在多个场景工作,所以不继承MonoBehavior,或者DontDestroy,它也不知道当前遮罩按钮所属的面板。所以在遮罩配表里把面板名字也写上。

那么引导系统和面板是两个独立的物体,引导系统先去根据面板名字找到面板,从它身上找到GuideID的按钮。这里会不会出现引导先触发,面板没加载出来,导致找不到面板?

我想了想,一组引导的第一个按钮必须在当前打开的面板上。而且必须是最上层的面板。那么就按配置找到面板,然后用GetComponentsInChildren得到所有引导id组件,找到对应的GuideID?每一步引导都要这样找一遍,开销是否太大?

那让每个引导Id组件Awake时把自己加入引导控制器的字典?

我想到,引导控制器持有当前引导组的数据,以及当前走到哪一步的数据,引导步数更新时发布新引导Id的事件,对应的组件如果在,就调用显示遮罩。引导id组件初始化时也去引导控制器看一下当前激活的引导id是不是自己,如果是就显示遮罩。这个方案和红点系统类似,都是不管按钮先存在还是红点节点先存在,按钮都能正确显示红点。

这个方法总结起来就是:业务层变化时发布事件,视图层监听事件,视图层初始化时也查看一下业务层状态。

现在要实现点击按钮前进到下一步引导,那么是给按钮加回调?但是下一次按按钮不能再触发下一步引导了,还要把回调去掉?

我想到引导id组件弄一个函数,把它加入按钮,里面判断如果引导控制器当前步骤的guideId是自己,则引导进一步。

http://www.jsqmd.com/news/1040401/

相关文章:

  • 三位控制生产中心哪家出色?泽迩玛工业科技实力领先 - myqiye
  • 数据科学实习生存指南:21家真实交付型机会深度拆解
  • 为什么机器学习工程师偏爱Colab:环境一致性与协作效率实战解析
  • 2026年6月有实力的粉碎机供应商推荐,全套有机肥设备/大型粉碎机/环保粉土机/双螺杆造粒机,粉碎机厂家推荐 - 品牌推荐师
  • 逻辑回归不是回归:二分类可解释建模的底层原理与实战
  • 墨西哥圣米格尔德阿连德粉红教堂,像婚礼蛋糕出片
  • Gemini+谷歌相册实现私有图像个性化生成
  • [Android] Fluid Live Wallpaper V1.8.0流体动态壁纸高级版-4K液体流动,手指触摸变化
  • 人脸关键点检测工程实践:从MediaPipe模型到移动端部署全解析
  • Windows性能分析实战:从卡顿根因定位到系统调优全流程
  • 潜空间工程实战:可测量、可编辑、可导航的AI核心基础设施
  • AI辩论学习语言:概念、现状与技术可行性分析
  • FastML:面向科研场景的可编程机器学习验证加速器
  • 深度哈希实战:端到端训练实现毫秒级相似性搜索
  • deepseek推广公司哪个口碑好?巨宇网络名列前茅 - myqiye
  • 线性回归数学原理:从最小二乘到R²的深度解析
  • ONNX模型生产部署:封装、服务与监控全链路实践
  • 为AI编程助手Codex集成图像生成功能:实战方案与工作流优化
  • Ros2Supervisor:Webots与ROS 2仿真实时交互的核心枢纽
  • Shifts数据集:评估AI模型鲁棒性与领域泛化的实战指南
  • 口碑好的土木行业成人教育机构哪家强? - myqiye
  • Hugging Face工程落地18个关键项目实操指南
  • CRISP-ML(Q):面向落地的机器学习工程化标准流程
  • XGBoost梯度提升树底层机制与工程实践手记
  • 浏览器中用TensorFlow.js实现KNN分类器
  • 逻辑回归原理与工程实践:从概率建模到线上诊断
  • 本地部署Gemma 4+Ollama实现离线多模态AI
  • SIEVE框架:视觉语言模型的自引导视觉证据检索技术
  • 谷歌花27亿美元请回的AI传奇Noam Shazeer,为何不到两年就转投OpenAI?
  • Qdrant驱动实时游戏AI:向量检索替代神经网络决策