Unity模糊搜索
1.创建UI,InputField、SCroll View
2.在BG上绑定脚本Post
1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 using UnityEngine.UI; 5 namespace ElectricPower.WindPower 6 { 7 public class Post : MonoBehaviour 8 { 9 public RectTransform content;//可以滑动区域 10 public GameObject partPrefab;//零件UI预制体 11 public InputField PartName_InputField;//零件名字输入框 12 public string[] PartNames = new string[10]; 13 public int Number;//搜索到对应内容的计数 14 public List<string> matchSuccessName = null;//存储匹配到的名字字符串 15 16 private void Start() 17 { 18 19 } 20 21 //匹配搜索字符串名字(Select_Btn按钮绑定该方法) 22 public void MatchStringName() 23 { 24 if (PartName_InputField.text =="") 25 { 26 Debug.Log("输入内容为空!!!"); 27 return; 28 } 29 else 30 { 31 Number = 0;//重置搜索到对应内容的计数 32 DestoryGo();//销毁预制体 33 string t2 = PartName_InputField.text;//输入内容 34 foreach (var name in PartNames) 35 { 36 if (name.Contains(t2)) 37 { 38 Number++; 39 matchSuccessName.Add(name); 40 Debug.Log("matchSuccessName" + matchSuccessName.Count); 41 } 42 } 43 StartCoroutine(ShowUI(Number)); 44 } 45 } 46 47 //根据搜索出来的对应内容显示UI 48 IEnumerator ShowUI(int num) 49 { 50 yield return new WaitForSeconds(1.0f); 51 float contentheight = num * 55;//可以拖拽对象height值 52 content.GetComponent<RectTransform>().sizeDelta = new Vector2(255, contentheight); //赋值给可以拖拽对象 53 GameObject[] go = new GameObject[num]; 54 for (int i = 0; i < num; i++) 55 { 56 go[i] = Instantiate(partPrefab, content);//事例对象,content为他们父对象 57 go[i].transform.GetChild(0).GetComponent<Text>().text = matchSuccessName[i]; 58 } 59 } 60 61 //销毁上次生成的UI内容 62 public void DestoryGo() 63 { 64 GameObject go_1 = content.gameObject; 65 matchSuccessName.Clear();//清除数组内容 66 if (go_1.transform.childCount > 0) 67 { 68 Transform[] goTransform = new Transform[go_1.transform.childCount]; 69 int index = 0; 70 foreach (Transform child in go_1.transform) 71 { 72 goTransform[index] = child; 73 index++; 74 } 75 for (int i = 0; i < goTransform.Length; i++) 76 { 77 Destroy(goTransform[i].gameObject); 78 } 79 } 80 } 81 } 82 }
3.效果展示如图
输入01,相关的数据显示出来
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?