Как записать рекорд?
Добавлено:
20 ноя 2018, 19:48
Pavel_Ket
Здравствуйте!
В моей игре персонаж двигается по оси OY вверх, мне нужно записать рекорд и вывести его в сцену, которая появляется после поражения, и в главное меню, к тому же, чтобы этот рекорд оставался после выхода из игры.
Я не знаю как это всё объединить.
Пожалуйста, подробно объясните, что нужно сделать
P.s желательно с кодом, на примере.
Re: Как записать рекорд?
Добавлено:
21 ноя 2018, 07:36
DimaJoke
Переменная на счёт (a) переменная на рекорд(b)
Ну а далее b сохраняем, это уже совсем другая история
Re: Как записать рекорд?
Добавлено:
21 ноя 2018, 11:55
DimaJoke
Re: Как записать рекорд?
Добавлено:
21 ноя 2018, 20:44
Pavel_Ket
DimaJoke писал(а):Переменная на счёт (a) переменная на рекорд(b)
Ну а далее b сохраняем, это уже совсем другая история
Хорошо. Код написан так: рекорд = позиции игрока по оси OY, т.е в переменной float, а мне необходимо выводить текст и сохранять в переменной int
Re: Как записать рекорд?
Добавлено:
22 ноя 2018, 10:19
DimaJoke
Pavel_Ket писал(а):DimaJoke писал(а):Переменная на счёт (a) переменная на рекорд(b)
Ну а далее b сохраняем, это уже совсем другая история
Хорошо. Код написан так: рекорд = позиции игрока по оси OY, т.е в переменной float, а мне необходимо выводить текст и сохранять в переменной int
Нене если тебе надо именно по позиции OY то
Используется csharp
public GameObject player;
public float score = player.transform.posituon.y;
public static float record;
public Text ScoreBar;
public Text RecordBar;
void Start()
{
score = SaveSystem.GetFloat("Score");//asset Save Game ссылку я тебе уже давал
}
void Update()
{
if(score >= record)record = score;
ScoreBar.GetComponent<Text>().text = "Score " + score.ToString();
RecordBar.Get Component<Text>().text = "Record " + record.ToString();
}
void OnApplicationQuit()
{
SaveSystem.SetFloat("Record", record);
}
Не сразу разобрался в вопросе, если надо объяснить, что тут за *#&$@ написанная, то просто напиши)
Re: Как записать рекорд?
Добавлено:
23 ноя 2018, 14:22
Pavel_Ket
DimaJoke писал(а):Pavel_Ket писал(а):DimaJoke писал(а):Переменная на счёт (a) переменная на рекорд(b)
Ну а далее b сохраняем, это уже совсем другая история
Хорошо. Код написан так: рекорд = позиции игрока по оси OY, т.е в переменной float, а мне необходимо выводить текст и сохранять в переменной int
Нене если тебе надо именно по позиции OY то
Используется csharp
public GameObject player;
public float score = player.transform.posituon.y;
public static float record;
public Text ScoreBar;
public Text RecordBar;
void Start()
{
score = SaveSystem.GetFloat("Score");//asset Save Game ссылку я тебе уже давал
}
void Update()
{
if(score >= record)record = score;
ScoreBar.GetComponent<Text>().text = "Score " + score.ToString();
RecordBar.Get Component<Text>().text = "Record " + record.ToString();
}
void OnApplicationQuit()
{
SaveSystem.SetFloat("Record", record);
}
Не сразу разобрался в вопросе, если надо объяснить, что тут за *#&$@ написанная, то просто напиши)
Выдает ошибку в public float score = player.transform.position.y;
Еще я добавил в
void Update()
{
SaveSystem.SaveToDisk();
}
Re: Как записать рекорд?
Добавлено:
25 ноя 2018, 14:06
1max1
Выдает ошибку в public float score = player.transform.position.y;
Рановато за юнити взялся, не зная основ c# далеко не уедешь.
Re: Как записать рекорд?
Добавлено:
29 ноя 2018, 14:04
DimaJoke
окей, тогда
public float score = player.transform.position.y;
перенеси в Update
Re: Как записать рекорд?
Добавлено:
29 ноя 2018, 14:55
DimaJoke
Точнее даже
Public float Score;
void Update()
{
Score = transform.position.y;
}