今作ってるシューティングゲームの自機HPを保存したり
読み込んだりしてみたいと思います。
セーブするには
PlayerPrefs.SetInt("SVhp", myhp);
こんな風に書くようです。
"...."この部分に保存する名前を書きます。
ロードするときはこの名前で呼び出します。
,の後ろにセーブする変数を書きます。
ロードするときは
int myhp = PlayerPrefs.GetInt("SVhp",3);
こんな風に書くようです。
"...."の部分にセーブしたときにつけた名前を書きます。
,の後ろはもしセーブしたデータが無いならこの数値が代入されます。
1.
監督スクリプトのHPkantoku に記述していきます。
start関数の下に書きます。
セーブする関数名をSaver
ロードする関数名をLoader にしました。
//セーブサブ
public void Saver() {
PlayerPrefs.SetInt("SVhp", myhp);
}
//ロードサブ
public void Loader()
{
int myhp = PlayerPrefs.GetInt("SVhp",3);
//現在のHPを表示して返す。myhpは数値型なのでToStringで文字列に変換。
this.HPdamege.GetComponent
}
2.
セーブとロードの2つのボタンを作る。
ヒエラルキービューのcreate → UI → Button
3.
ボタンのtextにそれぞれセーブとロードと入力。
ボタンの名前をSVbutton,LDbuttonにしました。
4.
まずセーブボタンから。
インスペクタビューのOnclickの + をクリック。
None って欄にヒエラルキービューのHPkantokuをD&Dして
さっき書いた関数にアクセスできるようにする。
5.
No Function → HPkantoku → Saver()
これでセーブボタンとSaver関数が繋がりました。
6.
同じようにロードボタンもLoader関数と繋げてやります。
7.
さて、実行してみよー
最初のHPは3でした。
1発被弾してHPを2にしてセーブボタンを押します。
さらに被弾してHPがー6になりました。
ここでロードボタンをクリック。
おおー
HPが2に戻りました!
ちゃんとセーブできているようですな!
一旦デバッグを終了してもう一回実行しても
ロードボタンを押すとちゃんとHPが2になりました。
うんうん。
セーブとロードは割とすんなりできた気がする!
やった! ^0^
///////////////////////////////////////////////////////////
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; //UI使うのに必要
public class HPkantoku : MonoBehaviour {
GameObject HPdamege; //現在のHPを表示するテキスト用のgameobject型変数、HPdamegeを宣言
int myhp = 3; //自分のHPの初期値を宣言
// Use this for initialization
void Start () {
this.HPdamege = GameObject.Find ("HPtext"); //UIのHPtextを見つけてHPdamegeに代入、実体化
//float myhp = 3.0f; ここで宣言してもダメらしい
}
//ダメージ表示サブ
public void DMGsub() { //他のオブジェクトからアクセスできるようにpublicで記述
this.myhp -= 1; //ダメージ受けたらHP減らす
//現在のHPを表示して返す。myhpは数値型なのでToStringで文字列に変換。
this.HPdamege.GetComponent
}
//セーブサブ
public void Saver() {
PlayerPrefs.SetInt("SVhp", myhp);
}
//ロードサブ
public void Loader()
{
int myhp = PlayerPrefs.GetInt("SVhp",3);
//現在のHPを表示して返す。myhpは数値型なのでToStringで文字列に変換。
this.HPdamege.GetComponent
}
// Update is called once per frame
//void Update () {
//}
}
////////////////////////////////////////
ー広告ー