Теперь напишем код сценария, который будет привязан к первому кадру фильма. Давайте рассмотрим его по частям.
function tick() {
if (_root.cursor._x != _root._xmouse) {
if (_root.cursor._x < _root._xmouse) {
if (_root._xmouse - _root.cursor._x < d) {
_root.cursor._x = _root._xmouse;
} else {
_root.cursor._x += d;
}
} else {
if (_root.cursor._x - _root._xmouse < d) {
_root.cursor._x = _root._xmouse;
} else {
_root.cursor._x -= d;
}
}
}
if (_root.cursor._y != _root._ymouse) { if (_root.cursor._y < _root._ymouse) {
if (_root._ymouse - _root.cursor._y < d) {
_root.cursor._y = _root._ymouse;
} else {
_root.cursor._y += d;
}
} else {
if (_root.cursor._y - _root._ymouse < d) {
_root.cursor._y = _root._ymouse;
} else {
_root.cursor._y -= d;
}
}
}
updateAfterEvent();
}
Мы объявили функцию, реализующую перемещение "ленивого" курсора. Она сравнивает координаты, горизонтальную и вертикальную, курсора и мыши и выполняет приращение координат курсора. Нужно отметить, что координаты мыши при этом отсчитываются относительно анимации основного фильма.
Продолжаем писать наш сценарий:
d = 25; Это величина приращения, на которое будут изменяться координаты курсора. И далее:
ctID = setintervai(tick, 50); Здесь мы создаем таймер, вызывающий функцию tick каждые 50 миллисекунд.
И, наконец:
_root.onUnload = function() {
clearlnterval(ctID) ;
}
А здесь мы привязываем к событию unload клипа cursor обработчик, удаляющий созданный ранее таймер. Удалять за собой затребованные для своих нужд ресурсы, те же таймеры, - хороший стиль программирования.
Если уж зашла речь о таймерах, то нам может пригодиться функция getTimer. Она возвращает количество миллисекунд, прошедших с момента, когда фильм начал воспроизводиться.
Загрузка внешних файлов
Ранее в этой главе уже упоминалось о том, что язык ActionScript позволяет загрузить и поместить в фильм Flash внешний файл. Этим внешним файлом может быть другой фильм Shockwave/Flash, изображение в формате JPEG, видео Macromedia Flash Video или звук. Также имеется возможность открыть Web-обозреватель и загрузить в него какую-либо Web-страницу. Настала пора выяснить, как это делается.
Загрузка и выгрузка фильмов Shockwave/Flash и изображений в формате JPEG
Проще всего загрузить в основной фильм, воспроизводящийся в окне проигрывателя Flash, другой фильм Shockwave/Flash или изображение в формате JPEG из внешнего файла (загружаемого фильма). Такое часто делается, особенно при создании Web-сайтов, целиком основанных на Flash.
Вложение загружаемого фильма или изображения в основной фильм
Проще всего создать на рабочем листе "пустой" клип (например, с помощью метода createEmptyMovieciip, описанного ранее в этой главе) и заменить его загружаемым фильмом. При этом загружаемый фильм вкладывается в основной, становясь его составной частью.
Для загрузки фильма Shockwave/Flash или изображения JPEG из внешнего файла используется действие loadMovie, которое вызывается так:
loadMovie("<Интернет-адрес внешнего файла>",
'Ь<Путь заменяемого клипа>) ;