avatar

[Unity4] Сохранение позиции

опубликовал в Unity3D
Уважаемые читатели, я помогу вам разобраться с PlayerPrefs для сохранения позиции объекта. Для начала я объясню вам принцип работы с PlayerPrefs. Рассмотрим основные возможности:
  1. PlayerPrefs.SetInt(float, string)
  2. PlayerPrefs.GetInt(float, string)
  3. PlayerPrefs.HasKey
PlayerPrefs.SetInt, PlayerPrefs.SetFloat, PlayerPrefs.SetStringустанавливают в PlayerPrefs значение int, float, string переменных.
PlayerPrefs.GetInt, PlayerPrefs.GetFloat, PlayerPrefs.GetStringполучает значение, уже ранее занесенное, из PlayerPrefs.
PlayerPrefs.HasKeyпроверяет наличии ключа.

Теперь давайте приступим.

Шаг первый.

Давайте начнем сразу с того, что проверим наличие записей позиции объекта по X, Y, Z и назначим позицию объекта, если имеем ключи позиции, соответственно значениям этих ключей:
void Start () {
	if (PlayerPrefs.HasKey("PosX") && PlayerPrefs.HasKey("PosY") && PlayerPrefs.HasKey("PosZ")) {
		transform.position = new Vector3(PlayerPrefs.GetFloat("PosX"),PlayerPrefs.GetFloat("PosY"),PlayerPrefs.GetFloat("PosZ"));
	}
}

Теперь мы приступаем к шагу номер два!

Шаг второй.

Мы сделаем занесение значений в PlayerPrefs перед выходом из игры. Для этого нам надо использовать функцию OnApplicationQuit ():
PlayerPrefs.SetFloat("PosX",transform.position.x);
PlayerPrefs.SetFloat("PosY",transform.position.y);
PlayerPrefs.SetFloat("PosZ",transform.position.z);

Мы сделали следующее:
  1. Вызываем метод занесения float значения
  2. Заносим в ключ PosX, PosY, PosZ
  3. Заносим в выбранный ключ значение. В нашем случае — позицию.
Ну вот и все, мы сделали занесение в ключи значение соответствующее типу ключа.
Спасибо за внимание, с вами был Максим Епихин!

2 комментария

avatar
Молодца пиши и дальше такие уроки
Чтобы оставить комментарий необходимо .