Проект, над которым я работаю, имеет массивное фоновое изображение (шириной 800 пикселей и высотой 2585 пикселей), которое медленно прокручивается вверх.
Раньше я использовал код по адресу: http://www.ilike2flash.com/2010/08/endless-scrolling-background-in-as3.html
Я изменил код для прокрутки вверх, но в дополнение к странной прерывистой ошибке, которая иногда отображает пустую строку высотой в пиксель после изображения и перед циклом следующего, на самом деле, похоже, она плохо справляется с динамической загрузкой Я пытался использовать несколько разных скриптов preloader, и это все их ломает), что, возможно, не было проблемой при первоначальной реализации, но теперь я использую чудовищно огромное изображение.
Итак, мой вопрос:
а. Есть ли еще один бесплатный код бесконечной прокрутки на основе Flash, поддерживающий ленивую загрузку фоновых объектов (скажем, существующий фон выделен в 6)?
б. Если нет, есть идеи, как мне изменить вышеуказанную ссылку, чтобы сделать это?
Спасибо! Мой AS3 выглядит следующим образом:
stop();
//The speed of the scroll movement.
var scrollSpeed:uint = 2;
//This adds two instances of the movie clip onto the stage.
var s1:ScrollBg = new ScrollBg();
var s2:ScrollBg = new ScrollBg();
addChild(s1);
addChild(s2);
setChildIndex(s1, 0);
setChildIndex(s2, 0);
//This positions the second movieclip next to the first one.
s1.y = 0;
s2.y = s1.height;
//Adds an event listener to the stage.
stage.addEventListener(Event.ENTER_FRAME, moveScroll);
//This function moves both the images to top. If the first and second
//images goes past the top stage boundary then it gets moved to
//the other side of the stage.
function moveScroll(e:Event):void{
s1.y -= scrollSpeed;
s2.y -= scrollSpeed;
if(s1.y <= -s1.height){
s1.y = s1.height - scrollSpeed;
}else if(s2.y <= -s2.height){
s2.y = s2.height - scrollSpeed;
}
}