TestA.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine.UI;
  5. /// <summary>
  6. ///
  7. /// </summary>
  8. public class TestA : MonoBehaviour {
  9. public GameObject trg = null;
  10. public Image moveImg = null;
  11. public Vector3 sencePos;
  12. public Canvas canvas;//画布
  13. private RectTransform rectTransform;//坐标
  14. void Start()
  15. {
  16. canvas = GetComponent<Canvas>();
  17. rectTransform = canvas.transform as RectTransform; //也可以写成this.GetComponent<RectTransform>(),但是不建议;
  18. }
  19. void Update()
  20. {
  21. //sencePos = CameraManager.Instance.SenceCamara.WorldToScreenPoint(trg.transform.position);
  22. //moveImg.transform.position = CameraManager.Instance.SenceUICamera.ScreenToWorldPoint(sencePos);
  23. Vector3 uiCenterPos = WorldToGUI(trg.transform.position);
  24. //Debug.LogError("3:屏幕中心:打到己方中心位置....." + trg.transform.position.ToString ()+"/"+ uiCenterPos.ToString());
  25. moveImg.transform.localPosition = WorldToGUI(trg.transform.position);
  26. //if (Input.GetMouseButtonDown(0))
  27. //{
  28. // Vector2 pos;
  29. // if (RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, trg.transform.position, canvas.worldCamera, out pos))
  30. // {
  31. // //rectTransform.anchoredPosition = pos;
  32. // moveImg.transform.localPosition = pos;
  33. // Debug.Log(pos);
  34. // }
  35. //}
  36. }
  37. void OnGUI()
  38. {
  39. //if (GUI.Button(new Rect(10, 10, 100, 100), "hide"))
  40. //{
  41. // this.a.CrossFadeAlpha(0f, 0, false);
  42. //}
  43. //if (GUI.Button(new Rect(10, 130, 100, 100), "Idle"))
  44. //{
  45. // this.a.CrossFadeAlpha(1f, 0, false);
  46. //}
  47. }
  48. /// <summary>
  49. ///
  50. /// </summary>
  51. /// <returns></returns>
  52. Vector2 WorldToGUI(Vector3 orgPos)
  53. {
  54. Vector2 pos;
  55. Vector3 screenPos = CameraManager.Instance.SenceCamara.WorldToScreenPoint(orgPos);
  56. RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform,
  57. screenPos, CameraManager.Instance.SenceUICamera, out pos);
  58. return pos;
  59. }
  60. }