ЗАЦИКЛИВАЕМ ДВИЖЕНИЕ
Предыдущий пример можно реализовать в удобоваримом виде используя отскок от границ мувиклипа. Но не всегда такой выход является лучшим. Часто используется зацикливание движения и на примере мы посмотрим как это выглядит. Добавим к использованному в предыдущем примере скрипту следующий (то что нужно добавить выделено синим цветом, удалять ничего не нужно):
onClipEvent (load) { // при загрузке
// задаем пределы, при выходе за которые мы должны переместить мувик:
l = - 10;// левый
r = 560; // правый
t = - 10; // верхний
b = 410; // нижний
}
onClipEvent (enterFrame) {
if (drag) {
sx = _x-x; sy = _y-y; x = _x; y = _y;
} else {
_x += sx *= .99; _y += sy *= .99;
if (_x < l) { // если вышли за левый край
_x+= 550; // перемещаем на правый край
} else if (_x > r) { // иначе, если вышли за правый край
_x -= 550; // перемещаем на левый край
}
if (_y < t) {// если вышли за верхний край
_y+= 400; // перемещаем на нижний край
} else if (_y > b) { // иначе, если вышли за нижний край
_y -= 400; // перемещаем на верхний край
}
}
}
Этот прием практически не нуждается в дополнительных комментариях, но лучше его смотреть не в тестовом о кне, а открыв swf. Следует учесть, что данный пример рассчитан на мувик 550х400 и радиус шарика 10 пикселов. Эти два показателя влияют на рассчет пределов и величину смещения в случае выхода за указанные пределы.