ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## FindEnemyDemo .cs ``` using UnityEngine; using System.Collections; /// <summary> /// /// </summary> public class FindEnemyDemo : MonoBehaviour { //思路: //得到所有的敌人获取他们的hp //根据当前组件查找其他组件 //调用 private void OnGUI() { if (GUILayout.Button("获取血量最低的敌人")) { //查找场景中所有有Enemy的对象 Enemy[] AllEnemy= Object.FindObjectsOfType<Enemy>(); //获取血量最低的对象 Enemy min = FindEnemyByMinHP(AllEnemy); print(min); //根据Enemy类型的引用 获取 其他组件类型的引用 min.GetComponent<MeshRenderer>().material.color = Color.red; } } //查找血量最低的敌人 public Enemy FindEnemyByMinHP(Enemy[] allEnemy) { //假设 第一个敌人的血最少 Enemy min = allEnemy[0]; //第一个依次和兄弟元素进行比较,小于min的就替换掉 for (int i = 0; i < allEnemy.Length-1; i++)//两个比一次, { if (min.HP > allEnemy[i+1].HP) { min=allEnemy[i+1]; } } return min; } } ``` ## Enemy.cs ``` using UnityEngine; using System.Collections; /// <summary> /// /// </summary> public class Enemy : MonoBehaviour { public float HP; } ```