LieDetectorUI_Setup_Guide.md 4.1 KB

测谎仪UI系统设置指南

这个指南将帮助你在游戏中实现测谎仪UI系统。

系统概述

测谎仪UI系统包含两个主要组件:

  1. LieDetectorManager: 控制测谎仪UI面板的显示/隐藏,处理测谎功能
  2. LieDetectorTrigger: 处理点击测谎仪图片的事件

设置步骤

1. 准备资源

  1. 准备以下图片资源并放入 assets/resources 目录下:
    • 测谎仪背景图片
    • 红色测谎按钮图片
    • "真"结果图片 (默认路径: ui/liedetector/true_result.png)
    • "假"结果图片 (默认路径: ui/liedetector/false_result.png)
    • 关闭按钮图片

注意: 资源必须位于 resources 目录或其子目录下才能通过 resources.load() 加载。

2. 创建测谎仪UI面板

  1. 在Hierarchy中创建一个新的Canvas节点(如果还没有)
  2. 在Canvas下创建一个名为"LieDetectorPanel"的Node节点
  3. 设置LieDetectorPanel的位置和大小,通常是全屏或居中的面板
  4. 添加以下子节点:
    • Background: 添加Sprite组件,使用测谎仪背景图片
    • TestButton: 添加Button组件,使用红色测谎按钮图片
    • ResultDisplay: 添加Sprite组件,用于显示测谎结果图片
    • CloseButton: 添加Button组件,设置为关闭按钮

3. 添加LieDetectorManager组件

  1. 选择你的Canvas或游戏管理器节点
  2. 添加LieDetectorManager组件(Component -> Add Component -> LieDetectorManager)
  3. 在Inspector中设置:

    • Detector Panel: 拖放LieDetectorPanel节点
    • Close Button: 拖放CloseButton节点
    • Test Button: 拖放TestButton节点
    • Result Display: 拖放ResultDisplay节点
    • Game Flow Manager: 拖放有GameFlowManager组件的节点
    • Data Manager: 拖放有DataManager组件的节点
  4. 设置结果图片(两种方式):

    • 方式1 - 直接拖放:
      • True Result Image: 拖放"真"结果的SpriteFrame资源
      • Fake Result Image: 拖放"假"结果的SpriteFrame资源
    • 方式2 - 使用资源路径:
      • True Result Path: 设置"真"结果图片的资源路径,如 ui/liedetector/true_result
      • Fake Result Path: 设置"假"结果图片的资源路径,如 ui/liedetector/false_result

4. 设置测谎仪触发器

  1. 找到你想要作为点击目标的测谎仪图片节点
  2. 添加LieDetectorTrigger组件(Component -> Add Component -> LieDetectorTrigger)
  3. 在Inspector中设置:
    • Detector Manager: 拖放有LieDetectorManager组件的节点

工作原理

  1. 当玩家点击场景中的测谎仪物体时,会触发LieDetectorTrigger组件
  2. LieDetectorTrigger调用LieDetectorManager的showDetectorPanel方法,显示测谎仪UI面板
  3. 当玩家点击红色测谎按钮时,LieDetectorManager会检查当前角色是否为真人:
    • 如果是真人,将显示"真"结果图片
    • 如果是伪人,将显示"假"结果图片
  4. 点击关闭按钮可以隐藏测谎仪UI面板

资源加载问题解决

如果遇到资源加载错误,请尝试以下解决方法:

  1. 检查资源路径:

    • 确保资源文件放在正确的路径下(如 assets/resources/ui/liedetector/true_result.png
    • 加载时不需要包含 .png 扩展名和 assets/resources/ 前缀
  2. 刷新资源:

    • 在编辑器的资源管理器中右键点击资源文件夹,选择"刷新"
    • 重启编辑器,让其重新扫描资源
  3. 使用直接引用:

    • 如果通过路径加载有问题,可以在编辑器中直接将SpriteFrame资源拖放到组件的属性字段中

常见问题

  1. 如果点击事件没有触发: 确保测谎仪图片节点添加了BoxCollider2D组件
  2. 如果测谎结果不显示: 检查GameFlowManager和DataManager是否正确配置
  3. 如果关闭按钮不起作用: 检查是否正确设置了Button组件和引用
  4. 如果测谎仪面板不显示: 检查LieDetectorPanel节点是否正确引用,以及其active状态
  5. 如果结果图片不显示: 检查结果图片是否正确加载,可以在控制台查看相关日志