В общем, вам, вероятно, потребуется сохранить расположение ваших объектов в файле, а затем загрузить этот файл в начале уровня (при условии, что вы создаете какую-то платформерную игру). Это можно сделать, создав класс или структуру, содержащую всю соответствующую информацию для платформы (положение, размер, текстура и т. Д.), А затем с помощью сериализации XML записать массив этих классов / структур в файл.
Ваш загрузчик уровней будет затем загружать и десериализовывать данные уровня, которые в конечном итоге будут представлять собой список всех объектов вашего уровня (например, платформ). Теперь, когда у вас есть расположение ваших платформ в памяти, у вас есть пара различных способов, как вывести их на экран.
- Нарисуйте все объекты (платформы) все время, независимо от того, находятся ли они в поле зрения камеры. Если ваши уровни не содержат много объектов, это будет просто реализовать.
- Нарисуйте только те, которые находятся в поле зрения камеры. Не зная, как вы реализовали горизонтальную прокрутку, довольно сложно сделать предложения для этой части. Какой бы механизм вы в настоящее время не использовали для определения границ того, какая часть фона отображалась, он может быть использован для определения того, какие объекты также рисовать.
Я сейчас работаю над игрой с вертикальной прокруткой, и мне нужен был способ сделать что-то похожее: поместить объекты на уровень и заставить их появляться при прокрутке фона. Я использовал TorqueX 2D (бесплатные двоичные файлы движка, если вы платили за разработку для XNA) и его редактор 2D-сцен, чтобы установить это довольно легко. У меня камера прокручивается вверх, фон остается на месте. Когда он достигает позиции объекта, определенной в файле уровня XML, он порождает объект на уровне.