Идея однако в том, что если персонаж проходит от одного края означенной области весь путь до другого края, то изображение фона должно прокрутиться полностью один раз… поэтому я рекомендую использовать большие числа, как я тут и сделал. Большое число заставит фон прокручиваться не слишком быстро, и появление фона будет происходить довольно натурально и реалистично. В строках 10 и 11 мы определяем параметры прокрутки на основе отношения размеров фоновой картинки к доступной области прохождения.
levelLoaded()
Код ActionScript, используемый в этой функции, почти полностью имеет дело с разбором XML, рассмотрение которого выходит за пределы этой книги. Чтобы узнать больше о разборе XML, смотрите Приложение D, «Основы XML во Flash». Но здесь мы, по крайней мере, должны сделать общий обзор того, что делает эта функция. Как только файл XML загружен, эта функция выполняется. Она разбирает XML и создает несколько объектов и некоторые массивы, а затем добавляет клипы в уровень. Ниже перечислены объекты и массивы, которые она создает:
game.flag —Этот объект используется для хранения координат x и y, а также ссылки на клип флага.
game.platforms.column —Этот массив хранит объект для каждой платформы, которая содержит информацию об этой платформе, включая координаты x и y, тип платформы, ширину и высоту платформы, и ссылку на клип.
game.baddies —Этот массив содержит объект для каждого врага. Он содержит координаты врага, а также ссылку на клип врага.
game.collectables —Этот массив содержит объект для каждого собираемого предмета; объект хранит координаты x и y предмета и ссылку на его клип.
game.grounds —Этот массив хранит объекты, представляющие области поверхности, которые проходимы (то есть не имеющие дыр).
Событие onEnterFrame
Как в большинстве игр, в Ледяном мире у нас есть событие onEnterFrame, которое предназначено для повторного вызова последовательности функций. Ниже представлен код обработчика этого события:
1 this.onEnterFrame =function(){
2 if (game