Не уверен, что именно вы ищете.
Я только что провел быстрое тестирование с Flash CS3 / AS3 и получил загруженные элементы, чтобы перемещаться внутри маски (основы поля прокрутки).
Сначала я создал слой Mask, а затем новый слой как дочерний элемент маски. Я добавил новый пустой MovieClip в дочерний слой Mask. Я назвал этот мувиклип mcItems.
Затем я прикрепил следующий рамочный скрипт (конечно, было бы предпочтительнее использовать класс).
for (var i:Number=0; i < 3; ++i)
{
var loader:Loader = new Loader();
loader.load(new URLRequest('Content.swf'));
mcItems.addChild(loader);
loader.x = i * 120;
};
function update (event:Event)
{
mcItems.x = 120*Math.sin(getTimer()/500) - 60;
};
addEventListener(Event.ENTER_FRAME, update);
Теперь Content.swf - это просто серая рамка размером 120x120 пикселей. Моя маска 240х120. После выполнения 3 поля Content.swf загружаются и перемещаются внутри маскированной области, как и ожидалось.
Что касается кода полосы прокрутки, я не уверен, что вы подразумеваете под «математическими взломами», но основной принцип - вы конвертируете из одного набора единиц в другой. Вы конвертируете ваши «ширина маски / общее количество загруженных элементов» в ваши «единицы ширины ручки прокрутки / ширины полосы прокрутки».
Я рекомендую просмотреть соответствующие страницы руководства для уточнения кода, использованного выше.
С уважением,
Jotham.