質問編集履歴

3

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

2020/05/25 03:14

投稿

kanoko_h
kanoko_h

スコア0

test CHANGED
File without changes
test CHANGED
@@ -541,3 +541,11 @@
541
541
 
542
542
 
543
543
  Unity2019.3.7f1
544
+
545
+
546
+
547
+ 追記:
548
+
549
+ 無事解決しました!
550
+
551
+ アドバイスをくださったsakura_hanaさんありがとうございました!

2

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

2020/05/25 03:14

投稿

kanoko_h
kanoko_h

スコア0

test CHANGED
File without changes
test CHANGED
@@ -136,8 +136,6 @@
136
136
 
137
137
  if(IsFallen()){
138
138
 
139
- Debug.Log("nyan");
140
-
141
139
  _mgrScript.DecreaseHP();
142
140
 
143
141
  Destroy(gameObject);
@@ -350,6 +348,8 @@
350
348
 
351
349
  Debug.Log(_hp);
352
350
 
351
+ _hpScript = hpManager.GetComponent<HPManager>();
352
+
353
353
  _hpScript.AddDamage(1);
354
354
 
355
355
  //_hpScript.SetDamageFlag(true);

1

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

2020/05/23 12:18

投稿

kanoko_h
kanoko_h

スコア0

test CHANGED
File without changes
test CHANGED
@@ -516,6 +516,26 @@
516
516
 
517
517
 
518
518
 
519
+ 追記:
520
+
521
+ 1.AddScore()内にDebug.Log(_score)を置いて確認したところ,キャラが橋を渡り切ったタイミングでちゃんと100ずつ加算されていました.しかし画面に_scoreを表示すると,加算が行われていません.また,Unityでシーン再生すると,何故かスコアが初期化されずに前回の値から加算されています.
522
+
523
+ GameManagerクラス内で経過時間によるスコア加算もしているのですが,そちらは再生ごとに初期化されますし,画面にも正常に反映されています.
524
+
525
+
526
+
527
+ 2.DecreaseHPの前にDebug.Logを置いてみましたが,キャラの落下ごとに表示されるログはちゃんと一回ずつでした.でも過剰に呼び出されている可能性はありそうです.この場合,フラグ管理して一回しか呼び出さないようにするべきなのでしょうか?
528
+
529
+
530
+
531
+ 3.生成されたHPはちゃんとHPManagerの子オブジェクトになっていました.
532
+
533
+
534
+
535
+ 感覚としてなのですが,別オブジェクトからメソッドを呼び出すと別のフィールド変数が用意されてしまう?感じなのでしょうか.解決方法がわかりません.初心者で申し訳ないです.
536
+
537
+
538
+
519
539
  ### 補足情報(FW/ツールのバージョンなど)
520
540
 
521
541