Если возникла надобность в : - прокрутке области содержащей, текстовые поля, картинки.. различные элементы…
*…другими словами - создать скроллинг для Movie Clip объектов…*
Урок :
Подобный эффект в Flash реализуется через использование масок.
На объект, который нам нужно будет “прокручивать”, в данном случае это будет Movie Clip,
накладывается маска, причём объект по своим размерам будет больше маски.
Теперь, при правильном перемещении клипа-контейнера какая-то его часть будет видна, а какая-то будет скрываться.
Подготавливаем почву для нашей флешки
Для того, чтобы эффект скроллинга в нашей флешке заработал, нам нужно создать:
а) Объект, который будем прокручивать (объект, в котором будут содержаться картинки, текст и прочее);
б) Кнопку скроллинга, потянув которую и будет происходить смещение главного объекта.
Как они должны выглядеть каждый из вас будет решать сам.
Программируем флешку
После того, как все необходимые элементы созданы, можно приступать и к написанию кода, но для начала нужно как-то назвать объекты, с которыми мы в дальнейшем будем работать. Пусть клип-контейнер будет у нас obj_mc, а кнопка скроллинга scroll_mc. Теперь осталось только вставить следующий код во Flash:
Code
Stage.scaleMode = “noScale”;
_root._quality = “BEST”;
//
//Накладываем маску на объект.
obj_mc.setMask(mask_mc);
//Находим разницу между общей высотой обхекта и высотой “видимой части”, видимая
//часть у нас будет составлять площадь маски, и, соответственно, высота видимой
//части - это будет высота маски.
var varDif:Number = obj_mc._height-mask_mc._height;
//Создаём событие на нажатие кнопки скроллинга
scroll_mc.onPress = function() {
//Переходим во второй кадр скроллинга, чтобы сделать нажатие наглядней
this.gotoAndStop(2);
//Начинаем перетаскивание кнопки скроллинга
this.startDrag(false, this._x, 0, this._x, 150);
//Создаём событие на ДВИЖЕНИЕ МЫШКИ.
this.onMouseMove = function() {
//Пропорционально тому, на сколько скроллинг сместился ниже начала оси Y
//объект, который мы прокручиваем, должен смещаться вверх.
_root.obj_mc._y = -_root.varDif*(this._y/150);
};
};
//После того, как пользователь отпустил кнопку мышки, мы должны остановить
//прокручивание.
scroll_mc.onRelease = scroll_mc.onReleaseOutside=function () {
//Переходим на первый кадр скроллинга.
this.gotoAndStop(1);
//Останавливаем перетаскивание скроллинга
this.stopDrag();
//Удаляем событие на ДВИЖЕНИЕ МЫШКИ, с помощью которого и происходило
//прокручивание объекта.
delete this.onMouseMove;
};