コードscore.cs using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Score : MonoBehaviour { public Text scoreText; public Text highScoreText; private int score; private int highScore; private string highScoreKey = "highScore"; void Start() { Initialize(); } void Update() { if (highScore < score) { highScore = score; } scoreText.text = score.ToString(); highScoreText.text = highScore.ToString(); } private void Initialize() { score = 0; highScore = PlayerPrefs.GetInt(highScoreKey, 0); } public void AddPoint(int point) { score = score + point; } public void Save() { PlayerPrefs.SetInt(highScoreKey, highScore); PlayerPrefs.Save(); Initialize(); } } コードblock.cs public class Block : MonoBehaviour { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } private void OnCollisionEnter(Collision collision) { Destroy(this.gameObject); /*if (collision.gameObject.tag == "Ball") { FindObjectOfType<Score>().AddPoint(10); Destroy(this.gameObject); }*/ } } ```### 前提・実現したいこと ここに質問の内容を詳しく書いてください。 ブロック崩しのプログラムを作成しています。 スコアの表示で詰まっています。 ブロックを壊したときにスコアを加算するものです。 ブロックのスクリプトとスコアのスクリプトが動かなくなってしまいました。 ### 発生している問題・エラーメッセージ ブロックのスクリプトは動いてましたが、変更後動かなくなってしまいました。 エラーメッセージ 特に出でいないですが、プログラムが動かなくなってしまいました。 ### 試したこと https://qiita.com/yaju/items/615b31e9f17e310642d6 こちらのサイトにあるものは試したと思います。 ### 補足情報(FW/ツールのバージョンなど) block.csのif文は動かなかったのでコメントアウトしました。
画像が表示されていません。質問を編集してください。
また、コードは文字で入力し、何をどう変更したのかも記載してください。
参考:https://teratail.com/help/question-tips
わかりました。
スクリプトはサイトをうつしただけです。
エラーはないのでタイプミスはないと思います。
AddPointが呼ばれたらスコアが加算されるので、そこをコメントアウトしたらスコア加算されなくなるのは当然です。
「block.csのif文に入らない」が本当の問題でしょうか?
すみません、説明の仕方が悪かったです。
問題は、実行はできるのですが、スコアも加算されず、ブロックがきえなくなってしまうことです。
(block.csのif文は動かなくてコメントアウトしたものです。)
回答1件
あなたの回答
tips
プレビュー