Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не появляется мышка в unity 3d / смена сцен

TT Ученик (120), закрыт 4 месяца назад
Здравствуйте, у меня проблема: У меня есть две сцены (игровая и меню с уровнями), и я написал так что бы при заходе в триггер меня перекидывало на сцену с уровнями. Так вот, при заходе на сцену у меня исчезает курсор мыши, я попробовал починить скриптом, но он не работает, можете подсказать в чём проблема?
 using UnityEngine.SceneManagement; 

public class GoToNextLevel : MonoBehaviour
{

private void OnTriggerEnter(Collider collision)
{
if(collision.CompareTag("Player"))
{
UnLockLevel();
SceneManager.LoadScene(3);
}
}


public void UnLockLevel()
{
int currentLevel = SceneManager.GetActiveScene().buildIndex;

if(currentLevel >= PlayerPrefs.GetInt("levels"))
{
PlayerPrefs.SetInt("levels", currentLevel + 1);
}

void Start()
{
Cursor.lockState = CursorLockMode.None;
Cursor.visible = true;
}
}
}
Лучший ответ
Максим Никифоров Профи (760) 4 месяца назад
Проблема может быть связана с тем, что вы используете метод Start() внутри метода UnLockLevel(). Метод Start() должен вызываться только один раз при старте скрипта, а метод UnLockLevel() вызывается каждый раз при входе в триггер. Попробуйте переместить код из метода Start() внутрь метода OnTriggerEnter().
Я не эксперт сразу скажу
TTУченик (120) 4 месяца назад
Не работает либо я не правильно написал
 private void OnTriggerEnter(Collider collision) 

{
Cursor.lockState = CursorLockMode.None;
Cursor.visible = true;
}
TTУченик (120) 4 месяца назад
Всё я нашёл выход. надо было писать данную строчку в меню из которого переходишь на данную сцену.
 void Start() 

{
{
Cursor.lockState = CursorLockMode.None;
Cursor.visible = true;
}
}
Остальные ответы
Никита Плужников Знаток (252) 4 месяца назад
Сорри бро, с этим не помогу, я без него работал
Похожие вопросы