How do I load the game?
Hello, I'm having trouble saving my script and loading the game progress, like saving whenever the player passes the level and, when he's in mine, he uses the game loading function. What is solving this problem is that I put the save function in "D", which is the character's movement key, but I can't get the script to load what was saved, I tried several things, but it isn't working properly.
Note: My game is 2D
This is the script that saves the game
using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using System.IO; using System.Runtime.Serialization.Formatters.Binary; using UnityEngine.UI;
public class SaveData: MonoBehaviour { public checkpoint; public Vector3 temp; public button Fire1;
// The start is called before the first frame update void Start () { temp = transform.position;
}
// Update is called once per frame Null update () {// if (Input.GetKeyDown (KeyCode.D)) { print ("saves" + Application.persistentDataPath); To save (); } // Fire1 is part of the unit configuration, it is the default if (Input.GetButton ("Fire1")) { LoadPos (); } } void Save () { BinaryFormatter bf = new BinaryFormatter (); FileStream fs = File.Create (Application.persistentDataPath + "/posData.data");
SaveClass s = new SaveClass (); s.posx = transform.position.x;
bf.Serialize (fs, s); fs.Close (); }
void LoadPos () { if (File.Exists (Application.persistentDataPath + "/posData.data")) { BinaryFormatter bf = new BinaryFormatter (); FileStream fs = File.Open (Application.persistentDataPath + "/posData.data", FileMode.Open);
SaveClass s = (SaveClass) bf.Deserialize (fs); fs.Close ();
temp.x = s.posx; transform.position = temp; } }
} [Serializable] class SaveClass { public float posx; }
And this is the menu that makes the game start and exit, but I can't get the game to continue loading what was saved
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using System.IO; using UnityEngine.UI; using System;
public class Menu: MonoBehaviour { public button Fire1;
public void Start () { SceneManager.LoadScene (SceneManager.GetActiveScene (). BuildIndex + 1); } void LoadPos () {
// it's saving, so it's not restarting by the button to continue if (File.Exists (Application.persistentDataPath + "/posData.data")) { // look in the video class for the condition of why you configure or button inside the unit Fire1.interactable = true; } }
Exit public empty () { Application.Quit (); }
void checkSaveGame () {
}
} Hello
Your answer
![](https://koobas.hobune.stream/wayback/20220612230626im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Trouble loading game save data with BlazeSave after uploading a new Steam build 1 Answer
How to SAVE to user defined file Name, and then Load any other saved game by user Selection 1 Answer
How do you handle running loops and instantiated objects when saving your game? 0 Answers
How do you do a dropdown menu that changes resolution? 0 Answers
how to tell what scene the player was previously in 1 Answer