回答編集履歴
2
文法の修正
answer
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
bAttack.target という要領で変数を呼び出せます。
|
28
28
|
|
29
|
-
「public」と宣言されている変数以外は、他のオブジェクトやそ
|
29
|
+
「public」と宣言されている変数以外は、他のオブジェクトやそれについているスクリプトなど、とにかく外部からは呼び出せません。
|
30
30
|
|
31
31
|
まとめて書くとこうです。
|
32
32
|
|
1
コードを見やすくしました
answer
CHANGED
@@ -1,11 +1,24 @@
|
|
1
1
|
①変数を使いたいクラスのクラスブロック内で、同じクラスの型の変数を宣言します。
|
2
2
|
|
3
|
-
|
3
|
+
```C#
|
4
4
|
|
5
|
+
public class ObjectA : MonoBehaviour{
|
6
|
+
blackAttack bAttack;
|
7
|
+
}
|
8
|
+
```
|
9
|
+
|
5
10
|
②次にStart()やAwake()で、その変数に、オブジェクトのスクリプトの実体をつくって代入します。
|
6
11
|
|
12
|
+
```C#
|
13
|
+
public class ObjectA : MonoBehaviour{
|
14
|
+
|
15
|
+
blackAttack bAttack;
|
16
|
+
|
17
|
+
void Start(){
|
7
|
-
bAttack = GameObject.Find("blackAtackがついているオブジェクトの名前").GetComponent<blackAttack>();
|
18
|
+
bAttack = GameObject.Find("blackAtackがついているオブジェクトの名前").GetComponent<blackAttack>();
|
8
|
-
|
19
|
+
}
|
20
|
+
}
|
21
|
+
```
|
9
22
|
・GameObject.Find()で、オブジェクトを区別します。
|
10
23
|
・GetComponent()で、スクリプトの実体を生成したり、いろいろやります。
|
11
24
|
|
@@ -17,19 +30,22 @@
|
|
17
30
|
|
18
31
|
まとめて書くとこうです。
|
19
32
|
|
33
|
+
```C#
|
34
|
+
|
20
35
|
using UnityEngine;
|
21
36
|
using System.Collections;
|
22
37
|
|
23
38
|
public class ObjectA : MonoBehaviour {
|
24
39
|
|
25
|
-
blackAttack bAttack;
|
40
|
+
blackAttack bAttack;
|
26
41
|
|
27
|
-
void Start(){
|
42
|
+
void Start(){
|
28
|
-
bAttack = GameObject.Find("ObjectB").GetComponent<blackAtttack>();
|
43
|
+
bAttack = GameObject.Find("ObjectB").GetComponent<blackAtttack>();
|
29
|
-
}
|
44
|
+
}
|
30
45
|
|
31
|
-
void Update(){
|
46
|
+
void Update(){
|
32
|
-
Debug.Log(bAttack.target);
|
47
|
+
Debug.Log(bAttack.target);
|
48
|
+
}
|
49
|
+
|
33
50
|
}
|
34
|
-
|
35
|
-
|
51
|
+
```
|