Как записать рекорд?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Как записать рекорд?

Сообщение Pavel_Ket 20 ноя 2018, 19:48

Здравствуйте!
В моей игре персонаж двигается по оси OY вверх, мне нужно записать рекорд и вывести его в сцену, которая появляется после поражения, и в главное меню, к тому же, чтобы этот рекорд оставался после выхода из игры.
Я не знаю как это всё объединить.
Пожалуйста, подробно объясните, что нужно сделать
P.s желательно с кодом, на примере.
Pavel_Ket
UNец
 
Сообщения: 6
Зарегистрирован: 16 сен 2018, 14:10

Re: Как записать рекорд?

Сообщение 1max1 20 ноя 2018, 20:18

Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Как записать рекорд?

Сообщение DimaJoke 21 ноя 2018, 07:36

Переменная на счёт (a) переменная на рекорд(b)
Синтаксис:
Используется csharp
if(a >= b) b = a;
 

Ну а далее b сохраняем, это уже совсем другая история
Что бы повзрослеть, человек должен преодолеть ошибки юности.

Поэтому я снова здесь..
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 293
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
  • Сайт

Re: Как записать рекорд?

Сообщение DimaJoke 21 ноя 2018, 11:55

Если что для сохранения используй этот ассет https://assetstore.unity.com/packages/tools/input-management/save-game-110382 там есть доки, разберёшься
Что бы повзрослеть, человек должен преодолеть ошибки юности.

Поэтому я снова здесь..
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 293
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
  • Сайт

Re: Как записать рекорд?

Сообщение Pavel_Ket 21 ноя 2018, 20:44

DimaJoke писал(а):Переменная на счёт (a) переменная на рекорд(b)
Синтаксис:
Используется csharp
if(a >= b) b = a;
 

Ну а далее b сохраняем, это уже совсем другая история


Хорошо. Код написан так: рекорд = позиции игрока по оси OY, т.е в переменной float, а мне необходимо выводить текст и сохранять в переменной int
Pavel_Ket
UNец
 
Сообщения: 6
Зарегистрирован: 16 сен 2018, 14:10

Re: Как записать рекорд?

Сообщение DimaJoke 22 ноя 2018, 10:19

Pavel_Ket писал(а):
DimaJoke писал(а):Переменная на счёт (a) переменная на рекорд(b)
Синтаксис:
Используется csharp
if(a >= b) b = a;
 

Ну а далее 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);
}

 

Не сразу разобрался в вопросе, если надо объяснить, что тут за *#&$@ написанная, то просто напиши)
Что бы повзрослеть, человек должен преодолеть ошибки юности.

Поэтому я снова здесь..
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 293
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
  • Сайт

Re: Как записать рекорд?

Сообщение Pavel_Ket 23 ноя 2018, 14:22

DimaJoke писал(а):
Pavel_Ket писал(а):
DimaJoke писал(а):Переменная на счёт (a) переменная на рекорд(b)
Синтаксис:
Используется csharp
if(a >= b) b = a;
 

Ну а далее 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();
}
Pavel_Ket
UNец
 
Сообщения: 6
Зарегистрирован: 16 сен 2018, 14:10

Re: Как записать рекорд?

Сообщение DimaJoke 23 ноя 2018, 16:46

Ну работает?
Что бы повзрослеть, человек должен преодолеть ошибки юности.

Поэтому я снова здесь..
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 293
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
  • Сайт

Re: Как записать рекорд?

Сообщение Pavel_Ket 25 ноя 2018, 13:47

DimaJoke писал(а):Ну работает?

Не работает
Pavel_Ket
UNец
 
Сообщения: 6
Зарегистрирован: 16 сен 2018, 14:10

Re: Как записать рекорд?

Сообщение 1max1 25 ноя 2018, 14:06

Выдает ошибку в public float score = player.transform.position.y;

Рановато за юнити взялся, не зная основ c# далеко не уедешь.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Как записать рекорд?

Сообщение DimaJoke 29 ноя 2018, 14:04

окей, тогда
public float score = player.transform.position.y;
перенеси в Update
Что бы повзрослеть, человек должен преодолеть ошибки юности.

Поэтому я снова здесь..
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 293
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
  • Сайт

Re: Как записать рекорд?

Сообщение DimaJoke 29 ноя 2018, 14:55

Точнее даже
Public float Score;
void Update()
{
Score = transform.position.y;
}
Что бы повзрослеть, человек должен преодолеть ошибки юности.

Поэтому я снова здесь..
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 293
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
  • Сайт


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16