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

Помогите пожалуйста!!!! почему то не переключаются уравни в юнити. я уже всё проверил, не знаю в чём причина!!!!!!

лев спасенков Ученик (114), на голосовании 7 месяцев назад
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SelectLevel : MonoBehaviour
{
public GameObject[] levels;

void Start()
{
if(PlayerPrefs.HasKey("Game Level")) PlayerPrefs.SetInt("Game Level", 1);

levels[PlayerPrefs.GetInt("Game Level") - 1].SetActive(true);
}

}

Помогите пожалуйста!!!! почему то не переключаются уравни в юнити. я уже всё проверил, не знаю в чём причина!!!!!!
Голосование за лучший ответ
Ден115 Профи (645) 8 месяцев назад
В вашем коде есть логическая ошибка, связанная с условием проверки и установкой значения в PlayerPrefs.
В вышей текущей логике утверждается: "Если уже существует ключ 'Game Level', установи для него значение 1". Это означает, что после первого запуска игры, когда ключ "Game Level" уже будет создан, его значение всегда будет устанавливаться в 1 при старте сцены. Из-за этого уровни не переключаются, потому что каждый раз при запуске сцены активируется только первый уровень.
Похожие вопросы