回答編集履歴
1
コメントへの返信として追記した
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
|
+

|