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

回答編集履歴

1

詳細記載

2020/06/02 03:05

投稿

sakura_hana
sakura_hana

スコア11429

answer CHANGED
@@ -2,4 +2,24 @@
2
2
  `public class AllyMemberStatus { }`
3
3
  こんな感じにしておけば普通にnew出来ます。
4
4
 
5
+ MonoBehaviourを継承しない場合、そのスクリプトをGameObjectに付与出来なくなります。
5
- MonoBehaviourはGameObjectTransform等、Unityオブジェクト類使用する為の継承元なので、クラス内でこれらを使用しら必要ありません
6
+ 結果的に`gameObject``transform`や`GetComponent`(前に何も付けない用法)といった「暗黙的に自分GameObject参照する変数やメソッド」が使なりま
7
+
8
+ 一方で別スクリプトから、特定のGameObjectへの参照を与えることは可能です。
9
+ (以下一例。「こういうことも出来る」というだけでこれが適しているかは別問題)
10
+
11
+ ```C#
12
+ public class AllyMemberStatus {
13
+ public Text myText;
14
+
15
+ public void Test() {
16
+ myText.text = "aaa";
17
+ }
18
+ }
19
+
20
+ //呼び出し側クラスにて
21
+ AllyMemberStatus aa2 = new AllyMemberStatus();
22
+ Text myText = GetComponent<Text>();
23
+ aa2.myText = myText;
24
+ aa2.Test();
25
+ ```