teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

解決しました!sakura_hanaさんありがとうございました!

2020/05/25 03:14

投稿

kanoko_h
kanoko_h

スコア0

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

頂いた追記依頼に関して,「試したこと」に追記しました.

2020/05/25 03:14

投稿

kanoko_h
kanoko_h

スコア0

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

試したことを追記しました.

2020/05/23 12:18

投稿

kanoko_h
kanoko_h

スコア0

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