1. 程式人生 > >如何用Unity製作“最高得分”

如何用Unity製作“最高得分”

本文是我翻牆看Backeys的How to make a HIGH SCORE in Unity做出的筆記和教程翻譯

最高得分適用於很多型別的小遊戲,通過UI記錄當前得分和最高得分

先在Hierarchy上建立一個panel三個Text和兩個button

三個text分別為“Score”“HighScore”“HighScoreTitle”

兩個button分別為“RollDiceButton”“ResetButton”

之後建立指令碼

using UnityEngine.UI;
using UnityEngine;

public class RollDice : MonoBehaviour{
    public Text Score;
    public Text HighScore;

    void Start()
    {
        HighScore.Text = PlayerPrefs.GetInt("HighScore",0).ToString();
    }
    public void RollDic()
    {
        int number  = Random.Range(1,7);
        Score.text = number.ToString();

        if(number > PlayerPrefs.GetInt("HighScore",0)
        {
            PlayerPrefs.SetInt("HighScore",number);
            HighScore.text = number.ToString();
        }
    }
    public void Reset()
    {
        PlayerPrefs.DeleteAll();
        HighScore.text = "0";
    }

這裡要給新手補充一點的是這裡應該把掛在指令碼的物件直接拖動過去而不是直接拖動指令碼

1 static function DeleteAll(): void
 2 描述:從設定檔案中移除所有鍵和值,謹慎的使用它們。
 3 static function DeleteKey(key: string): void
 4 描述:從設定檔案中移除key和它對應的值。
 5 static function GetFloat(key: string, defaultValue: float=OF): float
 6 描述:如果存在,返回設定檔案中key對應的值.如果不存在,它將返回defaultValue。
 7 static function GetInt(key: string, defaultValue: int): int
 8 描述:返回設定檔案中key對應的值,如果存在.如果不存在,它將返回defaultValue。
 9 static function GetString(key: string, defaultValue: string=**): string
10 描述:返回設定檔案中key對應的值,如果存在.如果不存在,它將返回defaultValue.
11 static function HasKey(key: string): bool
12 描述:在設定檔案如果存在key則返回真.
13 static function SetFloat(key: string, value: float): void
14 描述:設定由key確定的值.
15 static function SetInt(key: string, value: int): void
16 描述:設定由key確定的值.
17 static function SetString(key: string, value: string): void
18 描述:設定由key確定的值.

本次指令碼中只用了兩個PlayerPrefs

一個是Reset時候使用的Playerprefs.DeleteAll();

另外一個是PlayerPrefs.SetInt();