Войти
ПрограммированиеФорумГрафика

Сохранение игры помогите плиз!

Страницы: 1 2 3 4 5 Следующая »
#0
20:51, 25 апр. 2019

Ребят как сделать чтобы игра очки и всё остальное сохранялись а не обнулялись при выходе!!
вот код буду благодарен

using UnityEngine;
using UnityEngine.UI;
public class Game : MonoBehaviour
{
    public Text scoreText;
    [Header("Магазин")]
    public int[] shopcosts;
    public int[] shopBonuses;
    public Text[] ShopBttnsText;
    public GameObject shopPan;

    private decimal score = 0.000m;
    private int bonus;

    private void Update()
    {
        scoreText.text = score + "$";
    }

    public void _shopPan ()
    {
        shopPan.SetActive(!shopPan.activeSelf);
    }

    public void ShopBttn_addBonus(int index)
    {
        if (score >=shopcosts[index])
        {
            bonus += shopBonuses[0];
            score -= shopcosts[index];
            shopcosts[index] *= 2;
            ShopBttnsText[index].text = "Кликер\n" + shopcosts[index] + "$";
        }
        else
        {
            Debug.Log("Недостаточно средств!");
        }
    }

    public void OnClick ()
    {
        score = score + 0.001m + bonus;
    }
}


#1
20:56, 25 апр. 2019

Записываешь данные в файл, а при запуске читаешь их

#2
20:57, 25 апр. 2019

maks242
НАПИШИ ПОЖАЛУЙСТА КАК??!! ПРОШУ
БУДУ БЛАГОДАРЕН!!!

#3
21:05, 25 апр. 2019

вообще, если бы ты не использовал decimal(начерта он тебе), то можно было воспользоваться PlayerPerfs

#4
21:06, 25 апр. 2019

FlyOfFly
Я ЗНАЮ(
НО Я ХОЧУ С decimal

#5
21:07, 25 апр. 2019

FlyOfFly
Помоги плиз

#6
21:08, 25 апр. 2019

Zaven
Есть один способ:https://answers.unity.com/questions/807778/save-decimals-in-playerprefs-c.html
Ну он будет на производительность влиять

#7
21:08, 25 апр. 2019

я сделал так но не работает проверил на телефоне


using UnityEngine;
using UnityEngine.UI;
using System;
using System.IO;
public class Game : MonoBehaviour
{
    public Text scoreText;
    [Header("Магазин")]
    public int[] shopcosts;
    public int[] shopBonuses;
    public Text[] ShopBttnsText;
    public GameObject shopPan;

    private decimal score = 0.000m;
    private int bonus;
    private Save sv = new Save();
    private string path;


    private void Start()
    {
#if UNITY_ANDROID && !UNITY_EDITOR
        path = Path.Combine(Application.persistentDataPath, "Save.json");
#else
        path = Path.Combine(Application.dataPath, "Save.json");
#endif
        if(File.Exists(path))
        {
            sv = JsonUtility.FromJson<Save>(File.ReadAllText(path));
        }
    }
    private void Update()
    {
        scoreText.text = score + "$";
    }

    private void OnApplicationQuit()
    {
        sv.score = score;
        PlayerPrefs.SetString("SV", JsonUtility.ToJson(sv));
    }

    public void _shopPan ()
    {
        shopPan.SetActive(!shopPan.activeSelf);
    }

    public void ShopBttn_addBonus(int index)
    {
        if (score >=shopcosts[index])
        {
            bonus += shopBonuses[0];
            score -= shopcosts[index];
            shopcosts[index] *= 2;
            ShopBttnsText[index].text = "Кликер\n" + shopcosts[index] + "$";
        }
        else
        {
            Debug.Log("Недостаточно средств!");
        }
    }

    public void OnClick ()
    {
        score = score + 0.001m + bonus;
    }

#if UNITY_ANDROID && !UNITY_EDITOR
    private void OnApplicationPause(bool pause)
    {
        if (pause) File.WriteAllText(path, JsonUtility.ToJson(path));
    }
#endif
}
[Serializable]
public class Save
{
    public decimal score;
    public int[] shopcosts;
    public int[] shopBonuses;
    public Text[] ShopBttnsText;
    public GameObject shopPan;
    public Text scoreText;
    private int bonus;

#8
21:13, 25 апр. 2019

FlyOfFly
можешь пожалуйста это сделать прошу
я только недавно начал этим заниматься очень прошу

#9
21:15, 25 апр. 2019

Zaven
> я сделал так но не работает проверил на телефоне
>
>
зачем ты совместил PlayerPrefs и запись в JSON файл?

#10
21:17, 25 апр. 2019

незнаю((((
поможешь

#11
21:19, 25 апр. 2019
using UnityEngine; 
using UnityEngine.UI; 
public class Game : MonoBehaviour 
{ 
    public Text scoreText; 
    [Header("Магазин")] 
    public int[] shopcosts; 
    public int[] shopBonuses; 
    public Text[] ShopBttnsText; 
    public GameObject shopPan;

    private decimal score = 0.000m; 
    private int bonus;

    private void Start() 
    { 
        score = decimal.Parse (PlayerPrefs.GetString("score","0"));
    } 
    private void Update() 
    { 
        scoreText.text = score + "$"; 
    }

    public void _shopPan () 
    { 
        shopPan.SetActive(!shopPan.activeSelf); 
    }
    private void OnApplicationQuit() 
    { 
         PlayerPrefs.SetString("money", score.ToString ());
    }
    public void ShopBttn_addBonus(int index) 
    { 
        if (score >=shopcosts[index]) 
        { 
            bonus += shopBonuses[0]; 
            score -= shopcosts[index]; 
            shopcosts[index] *= 2; 
            ShopBttnsText[index].text = "Кликер\n" + shopcosts[index] + "$"; 
        } 
        else 
        { 
            Debug.Log("Недостаточно средств!"); 
        } 
    }

    public void OnClick () 
    { 
        score = score + 0.001m + bonus; 
    } 
}
Попробуй это, если не получить, то напиши..скорее всего надо будет путь сохранение поменять в build setting
#12
21:25, 25 апр. 2019

FlyOfFly

Вот он ваш лузерфрендли движох.
#13
(Правка: 21:29) 21:28, 25 апр. 2019

nes
>
> Вот он ваш лузерфрендли движох.
Что бы движок был реально юзерфрендли, там должна быть одна кнопка "сделать крутую игру" . В Другом же случае, у людей все равно появиться кучу вопросов

#14
21:33, 25 апр. 2019

FlyOfFly
нет не получилось что ты сказал что нужно сделать

Страницы: 1 2 3 4 5 Следующая »
ПрограммированиеФорумГрафика