回答編集履歴
2
追記
answer
CHANGED
@@ -50,4 +50,38 @@
|
|
50
50
|
赤いキューブ:毬栗をイメージ
|
51
51
|
緑の壁:的をイメージ
|
52
52
|
※こちらでは、「igaguriController」クラス内のParticleSystemはコメントアウトして動作させています。
|
53
|
-

|
53
|
+

|
54
|
+
|
55
|
+
---
|
56
|
+
|
57
|
+
# 2021.03.29 追記
|
58
|
+
> 一つ質問です。igaguriのインスタンスにすでにrigidBodyが付いているなら、AddForceメソッドを使う前に、
|
59
|
+
this.igaguri = igarugi.GetComponent<Rigidbody>();//translateメソッドの非簡略版
|
60
|
+
の行はいらないのではと思いました。
|
61
|
+
なぜ必要なのか教えていただけませんか??
|
62
|
+
|
63
|
+
AddForceするには、インスタンス化したigaguriのRigidBody参照が必要になるので、上記の行でGetComponentしています。(提示されたコードでは、igaguriからRigidBodyを取得する箇所が見当たらなかった)
|
64
|
+
|
65
|
+
ですが、以下修正を行えば上記の行は不要になります。
|
66
|
+
(以下の様にすることで、インスタンス化と同時にStartメソッドが呼ばれ、毬栗が飛んで行きます。
|
67
|
+
インスタンス化と同時に呼ばれるのが都合悪い場合、模範回答の様に別途メソッドを分けると良いかと思います。)
|
68
|
+
|
69
|
+
手順1、igaguriControllerクラス内の、Startメソッドのコメントを外す
|
70
|
+
```C#
|
71
|
+
void Start()
|
72
|
+
{
|
73
|
+
this.rigid = GetComponent<Rigidbody>();//translateメソッドの非簡略版
|
74
|
+
this.rigid.AddForce(0, 10, 10, ForceMode.Impulse);
|
75
|
+
}
|
76
|
+
```
|
77
|
+
|
78
|
+
手順2、igaguriGeneratorクラス内の、Updateメソッドの中身を以下の様にする
|
79
|
+
```C#
|
80
|
+
void Update()
|
81
|
+
{
|
82
|
+
if (Input.GetMouseButtonDown(0))
|
83
|
+
{
|
84
|
+
GameObject igaguri = Instantiate(igaguriPrefab) as GameObject;//インスタンスを作る
|
85
|
+
}
|
86
|
+
}
|
87
|
+
```
|
1
編集
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
**修正例**
|
11
|
-
igaguriGeneratorクラス内の、Instantiateした後のオブジェクトからRigidBodyを取得する様に修正すれば
|
11
|
+
igaguriGeneratorクラス内の、Instantiateした後のオブジェクトからRigidBodyを取得する様に修正すれば、いがぐりを飛ばせるようにならないでしょうか。
|
12
12
|
```diff
|
13
13
|
using System.Collections;
|
14
14
|
using System.Collections.Generic;
|