1. 程式人生 > >二維物體跟隨鼠標移動

二維物體跟隨鼠標移動

utili 移動 rect vector poi bsp ica mil nsf

理解

mousePos - transform.position 鼠標的位置減去掛在此腳本上物體的位置

z = -Vector3.Angle(Vector3.up, mousePos - transform.position); Vector3.up為(0,1,0),
這句話暫時理解為(0,1,0)mousePos - transform.position夾角

  //Canvans下的物體
 2     public RectTransform UGUICanvans;
 3     //當前主相機
 4     public Camera mainCamera;
 5 
 6     void Update()
 
7 { 8 Vector3 mousePos; 9 //ScreenPointToWorldPointInRectangle(RectTransform rect, Vector2 screenPoint, Camera cam, out Vector3 worldPoint); 10 RectTransformUtility.ScreenPointToWorldPointInRectangle(UGUICanvans, new Vector2(Input.mousePosition.x, Input.mousePosition.y),mainCamera, out
mousePos); 11 float z; 12 if (mousePos.x > transform.position.x) 13 { 14 //返回的鼠標的位置-transform.position槍的位置 15 z = -Vector3.Angle(Vector3.up, mousePos - transform.position); 16 17 } 18 else 19 { 20 z = Vector3.Angle(Vector3.up, mousePos - transform.position);
21 } 22 transform.localRotation = Quaternion.Euler(0, 0, z); 23 }

二維物體跟隨鼠標移動