Относительно «множественного контента»:
Подкласс класса Game
наследует объект ContentManager
с именем Content
.
Однако вы не ограничены только этим ContentManager
объектом (фактически вам даже не нужно его использовать). Вы можете сделать столько, сколько вам нужно, и положить их куда угодно. Это один из способов обработки разного контента на разных «экранах» и т. Д., Так что вы можете загружать и выгружать нужные вам фрагменты.
Чтобы настроить другой менеджер контента на другом экране, вы можете сделать следующее:
В каком-нибудь классе создайте переменную:
ContentManager moreContent;
Затем инициализируйте его следующим образом:
moreContent = new ContentManager(game.Services);
moreContent.RootDirectory = game.Content.RootDirectory;
Вам нужно будет передать свой объект Game
в класс, чтобы правильно его инициализировать. Это заставит этого менеджера контента иметь ту же корневую папку, что и родительский Game.Content
. Конечно, вы можете изменить это на что угодно.
Теперь только для этого экрана вы можете делать такие вещи, как:
Texture2D playerT = moreContent.Load<Texture2D>("player");
А потом, если вы переключаете экраны (на Update
):
moreContent.Unload();
удалит все содержимое экрана из памяти.