Зміст курсу
Unity для початківців
Unity для початківців
Менеджер звуку
Ініціалізація Singleton в Unity:
У Unity ми часто потребуємо, щоб певні менеджери або контролери зберігалися між сценами, наприклад, звуковий менеджер. Клас SoundManager
розроблений як Singleton, щоб забезпечити наявність лише одного екземпляра протягом усього життя гри. Ось як він використовується в Unity:
Єдиний екземпляр: Публічна статична змінна SoundManager
instance; рядок оголошує статичну змінну instance типу SoundManager
. Ця змінна зберігає єдиний екземпляр класу SoundManager
.
Ініціалізація в методі Start()
:
У методі Start()
, який автоматично викликається Unity, коли GameObject
, до якого прикріплений цей скрипт, стає активним, ініціалізується екземпляр Singleton.
Якщо instance дорівнює null, тобто жодного екземпляра SoundManager
ще не існує, поточний екземпляр (this) призначається instance, ефективно роблячи цей об'єкт єдиним екземпляром.
Якщо instance не дорівнює null, це означає, що інший екземпляр SoundManager
вже існує (що не повинно відбуватися в шаблоні Singleton). У цьому випадку поточний GameObject
(цей екземпляр) знищується (Destroy(gameObject)
), щоб забезпечити дотримання шаблону Singleton.
1. What is the purpose of the instance variable in the SoundManager
class?
2. What does DontDestroyOnLoad(gameObject)
do in the SoundManager
class?
Дякуємо за ваш відгук!