uGUI上でタッチした場所に、uGUIオブジェクトを配置したいです。
スクリプトを書いてみたのですが意図した挙動になりません。
「Screen Space - Camera」は座標系の計算がややこしいみたいなのですが、下記のコードを試してみると離れた2点間を移動し続けてしまいます。
周りに詳しい人がおらず、どなたかお分かりになる方おりませんでしょうか。
2Dゲームとして実装しております。
CanvasのRenderModeは「Screen Space - Camera」に設定しております。
UnityのVerは5.3.2f1になります。
C#
1 RectTransform rectTransform; 2 3 void Awake(){ 4 5 rectTransform = GetComponent<RectTransform>(); 6 7 } 8 9 // Update is called once per frame 10 void Update () { 11 12 Vector2 result = Vector3.zero; 13 Vector2 mousePos = Input.mousePosition; 14 //mousePos.z = 10.0f; 15 16 RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, mousePos, Camera.main, out result); 17 //Debug.Log (result); 18 19 Vector3 pos = new Vector3 (result.x, result.y, 0); 20 Debug.Log (pos); 21 rectTransform.localPosition = pos; 22 23 }
あなたの回答
tips
プレビュー