Страница 1 из 1

Как реализовать игровые очки

СообщениеДобавлено: 10 май 2018, 21:42
director_ubisoft
Делаю игру на подобие "Hill Climb Racing" и у меня такой вопрос.
Как сделать так чтобы заработанные очки отображались в меню т.е в другой сцене. Честно я задолбался с этим вопросом. Если это не займет много времени могли бы вы набросать скрипт или как-нибудь объяснить. Благодарю.

Re: Как реализовать игровые очки

СообщениеДобавлено: 10 май 2018, 22:14
1max1
static переменная

Re: Как реализовать игровые очки

СообщениеДобавлено: 11 май 2018, 20:46
Heliosis
Либо сохранять и менять в PlayerPrefs

Re: Как реализовать игровые очки

СообщениеДобавлено: 05 июн 2018, 23:49
Kronos_1982
Я тут быстренько написал скрипт на C# по вашей теме:
Скрипт на меню:


Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
using UnityEngine.UI;
public class InfoMoney : MonoBehaviour {
        public string Money; // Переменная с количеством монет
        public Text TextMoney;// Переменная с местом для вывода монет
        void Start () {
                FileInfo File = new FileInfo("money.txt");//Проверяем есть ли фаил money.txt
                if(!File.Exists){
                        File.Create ();// Если нету файла, создаем его
                }else{
                Money = "";
                StreamReader OpenFile = new StreamReader ("money.txt");// Считываем данные из файла
                Money = OpenFile.ReadLine ();//записываем данные из файла в переменную
                OpenFile.Close ();
                Debug.Log (Money);
                        TextMoney.text = Money;// выводим переменную на сцену
                }
        }
}
 

Скрипт на сцене игры:

Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.IO;
public class SaveInfoMoney : MonoBehaviour {
        public int Money; //Переменная с монетами (которые вы будете подбирать)
        string AllMoney; //Переменная получаемая из файла
        int IntAllMoney;// переменная монет для складывания
        void Start () {
                Money = 0;
                FileInfo FileAllMoney = new FileInfo ("money.txt");//Проверяем существует ли фаил
                if (!FileAllMoney.Exists) {// если нет
                        FileAllMoney.Create ();// создаем фаил
                }
                StreamReader OpenFileMoney = new StreamReader ("money.txt");// Считываем данные из файла
                AllMoney = OpenFileMoney.ReadLine ();//записываем данные из файла в переменную
                OpenFileMoney.Close ();
                int.TryParse(AllMoney, out IntAllMoney);// Переводим из string в int
        }
        void Update () {
                if (Input.GetKeyDown (KeyCode.Escape)) {// Если нажата кнопка ESC , то сохраняем монеты (По вашему усмотрению )
                        IntAllMoney += Money; // сумма всех монет
                        StreamWriter FileAllMoney = new StreamWriter ("money.txt");//Открываем поток
                        FileAllMoney.WriteLine (IntAllMoney);// записываем данные в фаил
                        FileAllMoney.Close ();//закрываем поток
                }
        }
}