スコアの表示
今回はスコアの表示を追加します。
まず、UICanvas以下に、GameObject→UI→TextよりTextを追加します。
名前はScoreTextとします。

インスペクタで位置、サイズ、フォントの大きさを調整し、右揃えにします。

シーンビューは以下のような感じです。

続いて、動作させるためのコードを書いていきます。
スコアを計算し表示する
まずGameManagerにTextの参照を持っておくためのSerializeFieldと、Scoreというプロパティを追加します。
GameManager.cs
-略-
[SerializeField] Text _scoreText;
-略-
//スコア
int _score;
public int Score {
get {
return _score;
}
}
-略-
GameManagerにScoreTextを設定します。

野菜が生成されたということは、ゲームオーバーになっていないという事になるので、野菜生成時にスコアを加算するようにします。
ただし、一番最初の生成時には加算しないという条件を付けます。
また、ゲームオーバーの初期化時に、スコアの初期化を行います。
GameManager.cs
-略-
//野菜を生成する
public void CreateVegetable(){
-略-
//スコア加算
if (_vegetableSpriteList.Count > 1){
_score++;
_scoreText.text = _score.ToString();
}
}
-略-
//初期化
void Initialize() {
-略-
//スコアの表示
_score = 0;
_scoreText.text = _score.ToString();
-略-
}
スコアが表示、加算されるようになりました。


コメント