Пытаюсь сделать переключение места появления(transform) в одном моём проекте. Выглядеть это должно так: в главном меню игры игрок выбирает точку появления (при помощи toggle), после чего скрипт сохраняет через PlayerPrefs.SetInt число, которое обозначает номер transforma для того, чтобы получить этот инт в другой сцене. И тут у меня возникает проблема: не знаю, как сделать, чтобы в другой сцене скрипт, "принимающий" это число спавнил игрока на выбранной точке. Пробовал сделать через if, но получил ошибку, т.к. это переменная int, а не bool.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class CarLoad : MonoBehaviour
{
[SerializeField] private Transform _carPos1;
[SerializeField] private Transform _carPos2;
public GameObject _car1;
void Start()
{
PlayerPrefs.GetInt("LocNum");
}
void Update()
{
if (PlayerPrefs.GetInt("LocNum", 1))
{
Instantiate(_car1, _carPos1.position, _carPos1.rotation);
}
}
}
Или есть какой-нибудь другой вариант?
Подскажите, как можно решить эту проблему?
if (PlayerPrefs.GetInt("LocNum", 1) == 1)
А еще лучше
int locNum = PlayerPrefs.GetInt("LocNum", 1)
switch (locNum)
{
case 1:
Instantiate(_car1, _carPos1.position, _carPos1.rotation);
break;
case 2:
Instantiate(_car1, _carPos2.position, _carPos2.rotation);
break;
default:
//Действие при невалидных данных
Instantiate(_car1, _carPos1.position, _carPos1.rotation);
break;
}
И конечно Instantiate
надо сделать один раз, например, в Start
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Собственно, в чем разница и что лучше использовать повсеместно и в каких случаях?
Доброго времени сутокСуть такая, есть клиенты (приложения Windows) и нужно сделать на них синхронизацию данных
Входными данными является строка, содержащая один из символов!?;:() например: "a; fg x; x y;"