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

Помощь с игрой в юнити

Онисим Мухаметов Ученик (121), на голосовании 5 дней назад
Хочу добавить в игру улучшения. Например хочу увеличить MaxHP на 20 и убавить 20 монет. Но как мне сделать чтобы в другом скрипте на следующей сцене хп героя было равно этой переменной.
Голосование за лучший ответ
Лев Перфилов Просветленный (29532) 1 месяц назад
Сделать скрипт, который будет держать эти значения и сделать его либо статичным, либо вызвать в Start() метод DontDestroyOnLoad().
safsr sdfdsfff Ученик (190) 1 месяц назад
Для того чтобы реализовать систему улучшений в вашей игре на Unity, вам потребуется создать скрипт, который будет управлять переменной MaxHP и взаимодействовать с игровыми данными между сценами. Начнем с создания класса для характеристик героя. Например:

public class PlayerStats : MonoBehaviour

{

public int MaxHP = 100; // начальное значение MaxHP

public int Coins = 50; // начальное количество монет

private static PlayerStats instance;

private void Awake()

{

if (instance == null)

{

instance = this;

DontDestroyOnLoad(gameObject); // сохраняем объект между сценами

}

else

{

Destroy(gameObject);

}

}

public void UpgradeHP()

{

if (Coins >= 20)

{

MaxHP += 20;

Coins -= 20;

}

}

}

Затем в интерфейсе вашего улучшения вы можете вызывать метод UpgradeHP() при покупке улучшения. Чтобы убедиться, что изменения в MaxHP актуальны в следующей сцене, обращайтесь к статическому экземпляру PlayerStats в любом скрипте. Это позволит легко получить доступ к текущим значениям HP и монет, сохранив последовательность данных.
Онисим МухаметовУченик (121) 1 месяц назад
А как в скрипте героя присвоить значение из этого скрипта
Похожие вопросы