Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
4 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
por exemplo salvei minha variavel dinheiro no playerprefs mas quando eu saio e entro do jogo minha variavel reseta e n restaura
Última edição por LegendGames em Qua Jan 18, 2017 8:29 pm, editado 1 vez(es) (Motivo da edição : ja resolvi)
LegendGames- Membro
- PONTOS : 3242
REPUTAÇÃO : 6
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
Para isso você tem que usar o Get em vez do Set. o Set salva e o Get carrega.
https://docs.unity3d.com/ScriptReference/PlayerPrefs.GetInt.html
https://docs.unity3d.com/ScriptReference/PlayerPrefs.SetInt.html
https://docs.unity3d.com/ScriptReference/PlayerPrefs.GetInt.html
https://docs.unity3d.com/ScriptReference/PlayerPrefs.SetInt.html
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
Eu Sei... eu fiz tudo isso e quando eu saio da aplicaçao e abro ela dnv n esta salvo
LegendGames- Membro
- PONTOS : 3242
REPUTAÇÃO : 6
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
Bom dia! por gentileza poste seu script, assim será mais fácil para a galera te ajudar.LegendGames escreveu:Eu Sei... eu fiz tudo isso e quando eu saio da aplicaçao e abro ela dnv n esta salvo
Abraço!
Re: Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
script data:
Script ScoreManager (aonde conta o dinheiro)
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class data : MonoBehaviour {
public static int dinheiro;
public static int velocidade;
public static int precovel = 100;
public static int dano;
public static int precodano = 150;
public static int vida;
public static int precovida = 200;
private GameObject[] datas;
void Awake () {
datas = GameObject.FindGameObjectsWithTag ("data");
if (datas.Length >= 2) {
Destroy (datas [0]);
}
DontDestroyOnLoad (transform.gameObject);
}
void Start () {
if (PlayerPrefs.HasKey ("dinheiro")){
dinheiro = PlayerPrefs.GetInt ("dinheiro");
}else{
PlayerPrefs.SetInt ("dinheiro",dinheiro);
}
if (PlayerPrefs.HasKey ("velocidade")){
dinheiro = PlayerPrefs.GetInt ("velocidade");
}else{
PlayerPrefs.SetInt ("velocidade",velocidade);
}
if (PlayerPrefs.HasKey ("precovel")){
dinheiro = PlayerPrefs.GetInt ("precovel");
}else{
PlayerPrefs.SetInt ("precovel",precovel);
}
if (PlayerPrefs.HasKey ("dano")){
dinheiro = PlayerPrefs.GetInt ("dano");
}else{
PlayerPrefs.SetInt ("dano",dano);
}
if (PlayerPrefs.HasKey ("precodano")){
dinheiro = PlayerPrefs.GetInt ("precodano");
}else{
PlayerPrefs.SetInt ("precodano",precodano);
}
if (PlayerPrefs.HasKey ("vida")){
dinheiro = PlayerPrefs.GetInt ("vida");
}else{
PlayerPrefs.SetInt ("vida",vida);
}
if (PlayerPrefs.HasKey ("precovida")){
dinheiro = PlayerPrefs.GetInt ("precovida");
}else{
PlayerPrefs.SetInt ("precovida",precovida);
}
}
}
Script ScoreManager (aonde conta o dinheiro)
- Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
namespace CompleteProject
{
public class ScoreManager : MonoBehaviour
{
public static int score;
Text text;
void Awake ()
{
// Set up the reference.
text = GetComponent <Text> ();
score = data.dinheiro;
}
void Update ()
{
text.text = "Dinheiro: " + score;
data.dinheiro = score;
}
}
}
- Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.SceneManagement;
namespace CompleteProject
{
public class PlayerHealth : MonoBehaviour
{
public int startingHealth = 100; // The amount of health the player starts the game with.
public int currentHealth; // The current health the player has.
public Slider healthSlider; // Reference to the UI's health bar.
public Image damageImage; // Reference to an image to flash on the screen on being hurt.
public AudioClip deathClip; // The audio clip to play when the player dies.
public float flashSpeed = 5f; // The speed the damageImage will fade at.
public Color flashColour = new Color(1f, 0f, 0f, 0.1f); // The colour the damageImage is set to, to flash.
Animator anim; // Reference to the Animator component.
AudioSource playerAudio; // Reference to the AudioSource component.
PlayerMovement playerMovement; // Reference to the player's movement.
PlayerShooting playerShooting; // Reference to the PlayerShooting script.
bool isDead; // Whether the player is dead.
bool damaged; // True when the player gets damaged.
void Awake ()
{
if (data.dano == 0) {
startingHealth = 100;
}
if (data.dano == 1) {
startingHealth = 110;
}
if (data.dano == 2) {
startingHealth = 120;
}
if (data.dano == 3) {
startingHealth = 130;
}
if (data.dano == 4) {
startingHealth = 140;
}
if (data.dano == 5) {
startingHealth = 150;
}
// Setting up the references.
anim = GetComponent <Animator> ();
playerAudio = GetComponent <AudioSource> ();
playerMovement = GetComponent <PlayerMovement> ();
playerShooting = GetComponentInChildren <PlayerShooting> ();
// Set the initial health of the player.
currentHealth = startingHealth;
}
void Update ()
{
// If the player has just been damaged...
if(damaged)
{
// ... set the colour of the damageImage to the flash colour.
damageImage.color = flashColour;
}
// Otherwise...
else
{
// ... transition the colour back to clear.
damageImage.color = Color.Lerp (damageImage.color, Color.clear, flashSpeed * Time.deltaTime);
}
// Reset the damaged flag.
damaged = false;
}
public void TakeDamage (int amount)
{
// Set the damaged flag so the screen will flash.
damaged = true;
// Reduce the current health by the damage amount.
currentHealth -= amount;
// Set the health bar's value to the current health.
healthSlider.value = currentHealth;
// Play the hurt sound effect.
playerAudio.Play ();
// If the player has lost all it's health and the death flag hasn't been set yet...
if(currentHealth <= 0 && !isDead)
{
PlayerPrefs.SetInt ("dinheiro",data.dinheiro);
// ... it should die.
Death ();
}
}
void Death ()
{
// Set the death flag so this function won't be called again.
isDead = true;
// Turn off any remaining shooting effects.
playerShooting.DisableEffects ();
// Tell the animator that the player is dead.
anim.SetTrigger ("Die");
// Set the audiosource to play the death clip and play it (this will stop the hurt sound from playing).
playerAudio.clip = deathClip;
playerAudio.Play ();
// Turn off the movement and shooting scripts.
playerMovement.enabled = false;
playerShooting.enabled = false;
}
public void RestartLevel ()
{
// Reload the level that is currently loaded.
SceneManager.LoadScene (0);
}
}
}
LegendGames- Membro
- PONTOS : 3242
REPUTAÇÃO : 6
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
ta ai o script voce consegue me ajudar?
LegendGames- Membro
- PONTOS : 3242
REPUTAÇÃO : 6
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
Uma coisa quando ele salva os dados novamente pois pelo oque eu vi ele só salva quando abre, ou seja ele vai salvar 0
Minha sugestão é que na void Update tu coloque pra ficar salvando os dado faz ai e me fale se fucionou
Minha sugestão é que na void Update tu coloque pra ficar salvando os dado faz ai e me fale se fucionou
Re: Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
ele tambem salva quando a vida do player fica igual a 0 no script de PlayerHealth linha 94
LegendGames- Membro
- PONTOS : 3242
REPUTAÇÃO : 6
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
quando eu troco de cena o dinheiro continua salvo mas quando eu fecho o aplicativo e abro ele novamente n continua o dinheiro
LegendGames- Membro
- PONTOS : 3242
REPUTAÇÃO : 6
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
Os scripts: data ,ScoreManager e PlayerHealth estão no mesmo objeto?
LegendGames- Membro
- PONTOS : 3242
REPUTAÇÃO : 6
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
resolvi o problema ja
LegendGames- Membro
- PONTOS : 3242
REPUTAÇÃO : 6
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Tópicos semelhantes
» Como faço para inserir oa dados de pontuação em um banco de dados
» Como faço para quando pegar item,sai umas particulas para cima e ai colide com o chão?
» Como faço para quando o meu personagem morrer a luz fique vermelha?
» Como faço para luz acender somente quando esta anoite?
» COMO FAÇO PARA QUE UM TEXTO GUI APAREÇA DO LADO DO OBJETO QUANDO VOU PEGA-LO
» Como faço para quando pegar item,sai umas particulas para cima e ai colide com o chão?
» Como faço para quando o meu personagem morrer a luz fique vermelha?
» Como faço para luz acender somente quando esta anoite?
» COMO FAÇO PARA QUE UM TEXTO GUI APAREÇA DO LADO DO OBJETO QUANDO VOU PEGA-LO
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos