teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コメントへの返信として追記した

2021/09/12 10:10

投稿

bboydaisuke
bboydaisuke

スコア5339

answer CHANGED
@@ -1,3 +1,26 @@
1
1
  問題は単純に「UI をスクリプトから座標指定で移動させたい」ということですね。
2
2
 
3
- そのために localPosition (Transform から継承した変数)を操作していますが、UI を動かすには [RectTransform](https://docs.unity3d.com/ja/current/ScriptReference/RectTransform.html).anchoredPosition を操作します。
3
+ そのために localPosition (Transform から継承した変数)を操作していますが、UI を動かすには [RectTransform](https://docs.unity3d.com/ja/current/ScriptReference/RectTransform.html).anchoredPosition を操作します。
4
+
5
+ **追記**
6
+
7
+ いきなり自分が作っているコードを書き変えてみるのではなく、「UI を動かすには RectTransform.anchoredPosition を使う」ということ、それだけ確認するという事をした方がよいですよ。
8
+
9
+ ```c#
10
+ using UnityEngine;
11
+
12
+ public class MoveUI : MonoBehaviour
13
+ {
14
+ [SerializeField] RectTransform m_ui = default;
15
+
16
+ public void Move()
17
+ {
18
+ Vector2 pos = new Vector2(Random.Range(-200f, 200f), Random.Range(-200f, 200f));
19
+ Debug.Log(pos.ToString());
20
+ m_ui.anchoredPosition = pos;
21
+ }
22
+ }
23
+ ```
24
+
25
+ 動いている様子
26
+ ![イメージ説明](f63351d5d73ecf091774249b8731ed2a.gif)