9
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Unity] ハイスコアの実装 & アプリを終了しても記録を残す方法

Last updated at Posted at 2017-11-15

今回はハイスコアの実装と、アプリを終了しても記録を残す方法を同時進行で記述します。

UnityのPlayerPrefsという機能を使って、プロジェクト内に記録を保存して、アプリを終了しても記録が残るようにします。

#1. ハイスコアのテキストを配置

Unityの Hierarchy→Create→UI→Text で、Canvas内にハイスコアを表示するテキストを配置します。

スクリーンショット 2017-05-06 0.13.51.png

位置と大きさは自分の好きな様に設定します。

#2.スクリプトを記述

宣言は以下の様にします。

今回はスコア機能が実装されている上での説明なので、あらかじめ自分で用意されているスコアの部分の記述は割愛します。


public Text highScoreText; //ハイスコアを表示するText
private int highScore; //ハイスコア用変数
private string key = "HIGH SCORE"; //ハイスコアの保存先キー

次にvoid startの部分に記述する部分です。


		highScore = PlayerPrefs.GetInt(key, 0);
//保存しておいたハイスコアをキーで呼び出し取得し保存されていなければ0になる
		highScoreText.text = "HighScore: " + highScore.ToString();
//ハイスコアを表示

最後にvoid updateの部分です。


//ハイスコアより現在スコアが高い時
if (score > highScore) {

				highScore = score;
//ハイスコア更新

				PlayerPrefs.SetInt(key, highScore);
//ハイスコアを保存

				highScoreText.text = "HighScore: " + highScore.ToString();
//ハイスコアを表示
			}

この部分でのscoreは、各々で設定している名前によって違ってくるかと思います。

#3.ScriptにTextを貼り付ける

ScriptをObjectに貼り付け、Textを貼り付けたら完了です!!

スクリーンショット 2017-05-06 0.35.02.png

ゲームを終了しても、ハイスコアが残ってるかと思われます!!

#4.ハイスコアを削除する方法

このままではハイスコアをリセットすることができないので、PlayerPrefs内に保存されているハイスコアをリセットしたい時に、次のコードを書けばリセットすることができます。


PlayerPrefs.DeleteAll();

これをvoid startに書いて、一度再生すると、ハイスコアがリセットされます。

以上、unityでハイスコアを実装する方法でした。

9
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?