質問編集履歴

2

試したこととソースに修正

2016/07/22 08:28

投稿

HoD4uKcWkhTkTAj
test CHANGED
File without changes
test CHANGED
@@ -223,3 +223,5 @@
223
223
  ###補足情報(言語/FW/ツール等のバージョンなど)
224
224
 
225
225
  visual studioを使用
226
+
227
+ ソースコードはヒット目標物に当てています。

1

ソースコードを当てているオブジェクトを表記

2016/07/22 08:04

投稿

HoD4uKcWkhTkTAj
test CHANGED
File without changes
test CHANGED
@@ -54,6 +54,8 @@
54
54
 
55
55
  private float EShotTime1;
56
56
 
57
+ private float EShotTIme2;
58
+
57
59
  // Use this for initialization
58
60
 
59
61
  void Start () {
@@ -64,6 +66,8 @@
64
66
 
65
67
  Muzzle2 = GameObject.Find("Muzzle2");
66
68
 
69
+ _HP = 2;
70
+
67
71
  }
68
72
 
69
73
 
@@ -72,15 +76,15 @@
72
76
 
73
77
  void Update () {
74
78
 
75
- EShotTime1 += Time.deltaTime;//砲弾射撃レート
79
+ EShotTime1 += Time.deltaTime;
80
+
76
-
81
+ EShotTIme2 += Time.deltaTime;
77
-
78
-
82
+
79
- EnemyShot enemyshot1=Muzzle1.GetComponent<EnemyShot>();//射撃メソッド取り込み
83
+ EnemyShot enemyshot1=Muzzle1.GetComponent<EnemyShot>();
80
84
 
81
85
  EnemyShot enemyshot2 = Muzzle2.GetComponent<EnemyShot>();
82
86
 
83
- Direction=Player.transform.position-transform.position;//回転方向計算
87
+ Direction=Player.transform.position-transform.position;
84
88
 
85
89
  var rotation=Quaternion.LookRotation(Direction);
86
90
 
@@ -90,29 +94,37 @@
90
94
 
91
95
  dis = Vector3.Distance(PlayerPos, transform.position);
92
96
 
97
+
98
+
93
- ;
99
+ PlayerPos.y = 0;
94
-
100
+
95
- rotation.x = rotation.z = 0;//Y軸方向のみ回転させる
101
+ rotation.x = rotation.z = 0;
96
-
102
+
97
- if (dis < ReactionRange)//一定範囲内にプレイヤーが近づいたら
103
+ if (dis < ReactionRange)
98
-
104
+
99
- {
105
+ {
100
-
106
+
101
- transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * TurnSpeed);//砲台回転処理
107
+ transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * TurnSpeed);
102
-
108
+
103
- if(EShotTime1>EShotFlame)//射撃
109
+ if(EShotTime1>EShotFlame)
104
110
 
105
111
  {
106
112
 
107
113
  enemyshot1.EShot(Muzzle1.transform);
108
114
 
115
+ EShotTime1=0;
116
+
117
+ }
118
+
119
+ if(EShotTIme2>EShotFlame)
120
+
121
+ {
122
+
109
123
  enemyshot2.EShot( Muzzle2.transform);
110
124
 
111
- EShotTime1=0;
125
+ EShotTIme2 = 0;
112
-
126
+
113
- }
127
+ }
114
-
115
-
116
128
 
117
129
  }
118
130
 
@@ -126,11 +138,11 @@
126
138
 
127
139
  }
128
140
 
129
- void Hit(Collider col)//弾がヒットしたら
141
+ void Hit(Collider col)
130
142
 
131
143
  {
132
144
 
133
- if (col.gameObject.tag == "NShell")//ノーマル弾
145
+ if (col.gameObject.tag == "NShell")
134
146
 
135
147
  {
136
148
 
@@ -152,7 +164,7 @@
152
164
 
153
165
  }
154
166
 
155
- if(col.gameObject.tag=="FShell")//火炎弾
167
+ if(col.gameObject.tag=="FShell")
156
168
 
157
169
  {
158
170
 
@@ -172,7 +184,7 @@
172
184
 
173
185
  }
174
186
 
175
- if(col.gameObject.tag=="AShell")//水弾
187
+ if(col.gameObject.tag=="AShell")
176
188
 
177
189
  {
178
190
 
@@ -196,6 +208,8 @@
196
208
 
197
209
  }
198
210
 
211
+
212
+
199
213
  ```
200
214
 
201
215
 
@@ -204,12 +218,8 @@
204
218
 
205
219
  砲弾本体に実装すべきかどうか等も検討しましたが、こちらも上手くいきませんでした。
206
220
 
207
- Updateに_HPが0以下になった場合も試しましたがこれもダメでした。
208
-
209
221
 
210
222
 
211
223
  ###補足情報(言語/FW/ツール等のバージョンなど)
212
224
 
213
225
  visual studioを使用
214
-
215
- ソースコードはヒット目標物に当てています。