Unityで何かを作ってみる その12

Unity

スコアの表示

今回はスコアの表示を追加します。
まず、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();
-略-
}

スコアが表示、加算されるようになりました。

Unity
スポンサーリンク
northprintをフォローする
おおよそ北の方向から

コメント