回答編集履歴
1
メソッド名修正
answer
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
単純にメソッドにしたい場合……そのまま書けばいいだけだと思いますが。
|
2
|
+
(メソッド名は数字から開始にできないので変更してます)
|
2
3
|
```C#
|
3
4
|
public static GameObject hoge_image;
|
4
5
|
|
5
|
-
void
|
6
|
+
void Init2D (string parentName, string imageName) {
|
6
7
|
hoge_image.transform.parent = GameObject.Find(parentName).transform;
|
7
8
|
hoge_image.AddComponent<RectTransform>().anchoredPosition = new Vector3(0, 0, 0);
|
8
9
|
hoge_image.GetComponent<RectTransform>().localScale = new Vector3(1, 1, 1);
|
@@ -13,7 +14,7 @@
|
|
13
14
|
//呼び出し側
|
14
15
|
void Hoge () {
|
15
16
|
hoge_image = GameObject.Find("hoge_image"); //ここは適当(何かしらの方法でセットされていると想定する)
|
16
|
-
|
17
|
+
Init2D("Panel", "image"); //hoge_imageはstaticなので渡す必要は無い
|
17
18
|
}
|
18
19
|
```
|
19
20
|
---
|
@@ -25,14 +26,14 @@
|
|
25
26
|
```C#
|
26
27
|
public GameObject imagePrehab; //インスペクタからプレハブをセットしておく
|
27
28
|
|
28
|
-
void
|
29
|
+
void Init2D (string objName, string parentName, string imageName) {
|
29
30
|
GameObject obj = Instantiate(imagePrehab, GameObject.Find(parentName).transform); //親子関係セットされる
|
30
31
|
obj.GetComponent<Image>().sprite = Resources.Load<Sprite>(imageName);
|
31
32
|
}
|
32
33
|
|
33
34
|
//呼び出し側
|
34
35
|
void Hoge () {
|
35
|
-
|
36
|
+
Init2D("hoge_image", "Panel", "image");
|
36
37
|
}
|
37
38
|
|
38
39
|
```
|