Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #27, ФЕВРАЛЬ 2003 г.

Flash-навигатор

ilich

Спецвыпуск Xakep, номер #027, стр. 027-050-5


per=0;

if (_root.mov_text2._height<=420) {

_root.button_up._x=0-_root.button_up._width-10;

_root.button_down._x=0-_root.button_down._width-10;

}

mov_y=_root.mov_text2._y;

Здесь обязательно должно быть выполнено условие, что центр клипа находится в его левом верхнем углу. Во второй кадр набивай:

if ((_root.mov_text2._y<=mov_y)and(_root.mov_text2._y>=(mov_y+_root.mov_text2._height-420))) {

_root.mov_text2._y=_root.mov_text2._y-(per*10);

if (_root.mov_text2._y<( mov_y+_root.mov_text2._height-420)) {

_root.mov_text2._y= mov_y+_root.mov_text2._height-420;

};

if (_root.mov_text2._y>mov_y) {

_root.mov_text2._y=mov_y;

};

}

Короче говоря, мувик мечется между своим изначальным положением (в маску видна его верхняя часть) и положением, когда он сдвинут вверх (видна его нижняя часть). Иногда клип нагло пытается вылезти за установленные для него пределы. В таких случаях он карается насильственной установкой в крайнюю верхнюю или нижнюю точку.

Мышиный навигатор

Экстремальное извращение - отсутствие кнопок :). А ведь это реально возможно и, что немаловажно, удобно, честное слово :). Суть метода в том, что экран виртуально (хотя можно это и графически показать) делится на зоны. Когда курсор попадает в какую-то определенную зону, происходит переход в нужный раздел сайта. Кнопки, в принципе-то, можно использовать и здесь. Только использоваться они будут не стандартно. Преимущественно юзаются тогда такие события кнопок, как "rollOver" и "rollOut", т.е. мышка НАД и НЕ НАД. Но, когда я сам этим занимался, я, как всегда, сделал все через... непросто, короче :). Я у некоторого мувика, который постоянно присутствовал во всех кадрах на сцене, на событие "mouseMove" поставил проверочку, которая, в зависимости от координат мыши, запускала тот или иной ролик, прокручивала тот же самый текст или посылала к какому-то другому разделу. Важно лишь отследить момент перехода в зону. Посмотри пример:

onClipEvent (mouseMove) {

x=_root._xmouse;

y=_root._ymouse;

if (x>=_root._width/2) {

if (f==1) {

f=0;

mov2.removeMovieClip();

_root.attachMovie("C - MovieClip1", mov1, 1);

_root.mov1._x=_root._width/2;

_root.mov1._y=0;

_root.mov1.play();

}

} else {

if (f==0) {

f=1;

mov1.removeMovieClip();

_root.attachMovie("C - MovieClip2", mov2 2);

_root.mov2._x=0;

_root.mov2_y=0;

_root.mov2play();

}

}

}

Все очень легко.

Экран здесь делится вертикально ровно посередине. Изначально, т.е. когда неизвестно, где мыша, ничего на экране нет. Вернее даже так, если мышка в правой части экрана, то пока курсор не пересечет установленную границу, ничего не начнется ("f" по умолчанию равно нулю). Когда же мыша наконец начинает бегать из стороны в сторону, с каждым переходим через грань "f" меняется, и именно в момент изменения этого флажка заменяются и мувики. Проигрывается мувик с той стороны, с которой мышка :). Надеюсь, суть метода ты уловил.

Назад на стр. 027-050-4  Содержание  Вперед на стр. 027-050-6