回答編集履歴

3

プロパティのほうがいいかも?

2021/04/22 00:08

投稿

fiveHundred
fiveHundred

スコア9810

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  ```C#
36
36
 
37
- public Enemy Shooter; // 発射元のEnemyを格納するための変数
37
+ public Enemy Shooter; // 発射元のEnemyを格納するための変数(プロパティのほうがいいかも?)
38
38
 
39
39
  ```
40
40
 

2

コードの修正

2021/04/22 00:08

投稿

fiveHundred
fiveHundred

スコア9810

test CHANGED
@@ -50,7 +50,7 @@
50
50
 
51
51
  var newTestBall = Instantiate(testBall) as GameObject; // testBallはプレハブ
52
52
 
53
- newTestBall.Shooter = this;
53
+ newTestBall.GetComponent<TestBall>().Shooter = this; // TestBallはtestBallのスクリプト
54
54
 
55
55
  }
56
56
 

1

追記・thisについて修正

2021/04/22 00:07

投稿

fiveHundred
fiveHundred

スコア9810

test CHANGED
@@ -8,4 +8,50 @@
8
8
 
9
9
  なお、thisは今のインスタンス自身(例えばtestBallスクリプトであれば、そのtestBall自身)を指すもので、例えば``this.foo``は(他に``foo``が無ければ)``foo``と同じものです。
10
10
 
11
- 従って、今回とは関係ないはずです。
11
+ ~~従って、今回とは関係ないはずです。~~
12
+
13
+ ↑追記にあるように自分自身を返したいときは使いますね。失礼しました。
14
+
15
+
16
+
17
+ ---
18
+
19
+
20
+
21
+ 追記:
22
+
23
+
24
+
25
+ > testBallが、自身の生まれたEnemy本体をFindする(?)方法等わかりますでしょうか。。。
26
+
27
+
28
+
29
+ 以下のように、生成したときにEnemyを格納すればよろしいかと思います。
30
+
31
+
32
+
33
+ testBallのスクリプト
34
+
35
+ ```C#
36
+
37
+ public Enemy Shooter; // 発射元のEnemyを格納するための変数
38
+
39
+ ```
40
+
41
+
42
+
43
+ Enemyのスクリプト
44
+
45
+ ```C#
46
+
47
+ void shootTestBall()
48
+
49
+ {
50
+
51
+ var newTestBall = Instantiate(testBall) as GameObject; // testBallはプレハブ
52
+
53
+ newTestBall.Shooter = this;
54
+
55
+ }
56
+
57
+ ```