GameManager.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class GameManager : MonoBehaviour
  5. {
  6. public List<GameObject> wlist;
  7. public void showW(int idx)
  8. {
  9. for(var i=0;i<wlist.Count;i++)
  10. {
  11. if(i==idx)
  12. {
  13. wlist[i].SetActive(true);
  14. }
  15. else
  16. {
  17. wlist[i].SetActive(false);
  18. }
  19. }
  20. }
  21. public Camera cam;
  22. GameObject hitGo;
  23. void Update()
  24. {
  25. Ray ray = cam.ScreenPointToRay(Input.mousePosition); // 在鼠标点击位置创建一条射线
  26. RaycastHit hit; // 用于存储碰撞信息的结构体
  27. if (Physics.Raycast(ray, out hit)) // 进行射线检测
  28. {
  29. if (Input.GetMouseButtonDown(0)) // 当鼠标左键点击时
  30. {
  31. Debug.Log("点击物体: " + hit.transform.gameObject.name); // 输出碰撞的物体名称
  32. }
  33. else
  34. {
  35. if(hitGo)
  36. {
  37. if(hitGo.name!=hit.transform.gameObject.name)
  38. {
  39. hitGo = hit.transform.gameObject;
  40. Debug.Log("exit物体: " + hitGo.name); // 输出碰撞的物体名称
  41. Debug.Log("enter物体: " +hitGo.name); // 输出碰撞的物体名称
  42. }
  43. }
  44. else
  45. {
  46. hitGo = hit.transform.gameObject;
  47. Debug.Log("enter物体: " + hitGo.name); // 输出碰撞的物体名称
  48. }
  49. }
  50. }
  51. else
  52. {
  53. if(hitGo)
  54. {
  55. Debug.Log("exit物体: " + hitGo.name); // 输出碰撞的物体名称
  56. hitGo=null;
  57. }
  58. }
  59. }
  60. }