51Testing软件测试论坛

标题: Unity 如何做一个密码 [打印本页]

作者: 测试积点老人    时间: 2022-2-22 11:51
标题: Unity 如何做一个密码
我做了一个触发器,碰到玩家后会出现密码输入框,密码使用UI的inputfield实现的,但是输入后无法立刻检测,必须离开触发器后在触发一次才会执行if (pin.text == ppin)里的代码。
就是,第一次触发后开始输入密码,inputfield.text也开始变化,但if (pin.text == ppin)里的代码不执行,必须离开触发器再除法一次才会执行。
我觉得好像inputfield.text的内容好像没有确定,离开触发器后才能确定内容。
后面有两个截图,第一个是第一次触发触发器,密码输入对了,但没反应。第二个是第二次触发代码就直接运行了。
怎么让密码输入正确直接触发代码呢?(第一次输入按回车也没反应,好像不是普通的输入)

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;

  5. public class terminal : MonoBehaviour
  6. {
  7.     public GameObject panel;
  8.     public GameObject platform;
  9.     public GameObject block;
  10.     public InputField pin;
  11.     private string ppin = "308";

  12.     void Start()
  13.     {
  14.         pin = GameObject.Find("Password").GetComponent<InputField>();
  15.     }

  16.     private void OnTriggerEnter2D(Collider2D collision)
  17.     {
  18.         if (collision.tag == "player")
  19.         {
  20.             panel.SetActive(true);
  21.             if (pin.text == ppin)
  22.             {
  23.                 Destroy(block);
  24.                 platform.SetActive(true);
  25.             }
  26.         }
  27.     }

  28.     private void OnTriggerExit2D(Collider2D collision)
  29.     {
  30.         if (collision.tag == "player")
  31.         {
  32.             panel.SetActive(false);
  33.         }
  34.     }
  35. }
复制代码



作者: kallinr    时间: 2022-2-23 10:06
嵌套
作者: qqq911    时间: 2022-2-23 10:07
模拟鼠标切出再切回
作者: jingzizx    时间: 2022-2-23 15:21
单步调试看看值




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2