2016-07-12 2 views
2

MAPとGAMEの2つのシーンがあります。シーンを切り替えるボタンクリック時に、インスペクタを使用してPlayerPrefsを設定するにはどうすればよいですか?

MAPでは、ボタン上の変数(インスペクタ内の)を使用してGAMEのレベルを作成します。

私はまた、ボタン一度達成する必要がありますスコア{私はこのスコアを設定することができるようにしたい}

が、私はそれを望んでクリックされている3つのゲームモード{1、2、3} を持っていますPlayerPrefsに保存し、GAMEで保存したPlayerPrefsを読み込み、そのデータを読み込みます。

ボタンスクリプト

public class LevelButton : MonoBehaviour { 

    public float GameScoreNeeded; 
    public int GameMode; 
} 

public void MakeLevel() 
{ 
    PlayerPrefs.SetInt("GameMode") = GameMode; 
    PlayerPrefs.SetFloat("GameScoreNeedeed") = GameScoreNeeded; 
} 

GAMEで

void Start(){ 
BuildLevel(); 
} 

public void BuildLevel(){ 
    gameMode = PlayersPrefs.GetInt("GameMode"); 
    gameScoreNeeded = PlayersPrefs.GetFloat("GameScoreNeeded"); 
} 

//Rest of code 

これは、私はニーズが起こることを考えるものですが、私は保存するために検査官からintを得るように見えることはできません。

答えて

3

しかし、私はインスペクタからintを取得することはできません。

PlayerPrefs.SetInt("GameMode") = GameMode; 
PlayerPrefs.SetFloat("GameScoreNeedeed") = GameScoreNeeded; 

あなたは適切PlayerPrefsを使用していません。 2つのパラメータが必要です。キーと値。ローディングコードが正しいようですが、コードを保存するはありません。以下は、保存した値に正しい方法である:

PlayerPrefs.SetInt("GameMode", GameMode); 
PlayerPrefs.SetFloat("GameScoreNeedeed", GameScoreNeeded); 

それは上記のコードの後に​​PlayerPrefs.Save();を呼び出すために意味をなさないと思います。その後、PlayersPrefs.GetIntまたはPlayersPrefs.GetFloatを使用して、保存された値を後で読み取ることができます。

+1

ありがとう、私が必要なものです! –

関連する問題