質問編集履歴
3
解決しました!sakura_hanaさんありがとうございました!
title
CHANGED
File without changes
|
body
CHANGED
@@ -269,4 +269,8 @@
|
|
269
269
|
|
270
270
|
### 補足情報(FW/ツールのバージョンなど)
|
271
271
|
|
272
|
-
Unity2019.3.7f1
|
272
|
+
Unity2019.3.7f1
|
273
|
+
|
274
|
+
追記:
|
275
|
+
無事解決しました!
|
276
|
+
アドバイスをくださったsakura_hanaさんありがとうございました!
|
2
頂いた追記依頼に関して,「試したこと」に追記しました.
title
CHANGED
File without changes
|
body
CHANGED
@@ -67,7 +67,6 @@
|
|
67
67
|
}
|
68
68
|
//落っこちたらオブジェクト削除
|
69
69
|
if(IsFallen()){
|
70
|
-
Debug.Log("nyan");
|
71
70
|
_mgrScript.DecreaseHP();
|
72
71
|
Destroy(gameObject);
|
73
72
|
}
|
@@ -174,6 +173,7 @@
|
|
174
173
|
public void DecreaseHP(){
|
175
174
|
_hp = _hp - 1;
|
176
175
|
Debug.Log(_hp);
|
176
|
+
_hpScript = hpManager.GetComponent<HPManager>();
|
177
177
|
_hpScript.AddDamage(1);
|
178
178
|
//_hpScript.SetDamageFlag(true);
|
179
179
|
}
|
1
試したことを追記しました.
title
CHANGED
File without changes
|
body
CHANGED
@@ -257,6 +257,16 @@
|
|
257
257
|
|
258
258
|
3についてはHPManagerクラス内に_damageFlagを作って,AddDamageメソッドをUpdate内から呼び出してみたのですが,_damageFlagが変更されなくて解決しませんでした.
|
259
259
|
|
260
|
+
追記:
|
261
|
+
1.AddScore()内にDebug.Log(_score)を置いて確認したところ,キャラが橋を渡り切ったタイミングでちゃんと100ずつ加算されていました.しかし画面に_scoreを表示すると,加算が行われていません.また,Unityでシーン再生すると,何故かスコアが初期化されずに前回の値から加算されています.
|
262
|
+
GameManagerクラス内で経過時間によるスコア加算もしているのですが,そちらは再生ごとに初期化されますし,画面にも正常に反映されています.
|
263
|
+
|
264
|
+
2.DecreaseHPの前にDebug.Logを置いてみましたが,キャラの落下ごとに表示されるログはちゃんと一回ずつでした.でも過剰に呼び出されている可能性はありそうです.この場合,フラグ管理して一回しか呼び出さないようにするべきなのでしょうか?
|
265
|
+
|
266
|
+
3.生成されたHPはちゃんとHPManagerの子オブジェクトになっていました.
|
267
|
+
|
268
|
+
感覚としてなのですが,別オブジェクトからメソッドを呼び出すと別のフィールド変数が用意されてしまう?感じなのでしょうか.解決方法がわかりません.初心者で申し訳ないです.
|
269
|
+
|
260
270
|
### 補足情報(FW/ツールのバージョンなど)
|
261
271
|
|
262
272
|
Unity2019.3.7f1
|