回答編集履歴
3
プロパティのほうがいいかも?
answer
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
testBallのスクリプト
|
18
18
|
```C#
|
19
|
-
public Enemy Shooter; // 発射元のEnemyを格納するための変数
|
19
|
+
public Enemy Shooter; // 発射元のEnemyを格納するための変数(プロパティのほうがいいかも?)
|
20
20
|
```
|
21
21
|
|
22
22
|
Enemyのスクリプト
|
2
コードの修正
answer
CHANGED
@@ -24,6 +24,6 @@
|
|
24
24
|
void shootTestBall()
|
25
25
|
{
|
26
26
|
var newTestBall = Instantiate(testBall) as GameObject; // testBallはプレハブ
|
27
|
-
newTestBall.Shooter = this;
|
27
|
+
newTestBall.GetComponent<TestBall>().Shooter = this; // TestBallはtestBallのスクリプト
|
28
28
|
}
|
29
29
|
```
|
1
追記・thisについて修正
answer
CHANGED
@@ -3,4 +3,27 @@
|
|
3
3
|
この場合、同じプレハブから生成しても区別できるので、プレハブEnemyとEnemy2の構造が同じなのであれば、わざわざEnemy2を用意する必要はありません。
|
4
4
|
|
5
5
|
なお、thisは今のインスタンス自身(例えばtestBallスクリプトであれば、そのtestBall自身)を指すもので、例えば``this.foo``は(他に``foo``が無ければ)``foo``と同じものです。
|
6
|
-
従って、今回とは関係ないはずです。
|
6
|
+
~~従って、今回とは関係ないはずです。~~
|
7
|
+
↑追記にあるように自分自身を返したいときは使いますね。失礼しました。
|
8
|
+
|
9
|
+
---
|
10
|
+
|
11
|
+
追記:
|
12
|
+
|
13
|
+
> testBallが、自身の生まれたEnemy本体をFindする(?)方法等わかりますでしょうか。。。
|
14
|
+
|
15
|
+
以下のように、生成したときにEnemyを格納すればよろしいかと思います。
|
16
|
+
|
17
|
+
testBallのスクリプト
|
18
|
+
```C#
|
19
|
+
public Enemy Shooter; // 発射元のEnemyを格納するための変数
|
20
|
+
```
|
21
|
+
|
22
|
+
Enemyのスクリプト
|
23
|
+
```C#
|
24
|
+
void shootTestBall()
|
25
|
+
{
|
26
|
+
var newTestBall = Instantiate(testBall) as GameObject; // testBallはプレハブ
|
27
|
+
newTestBall.Shooter = this;
|
28
|
+
}
|
29
|
+
```
|