О том, как сделать, чтобы некий объект двигался по вертикали используя Y-координату указателя мышки (курсора).
Вопрос: «Как во Флэш сделать следующее:
Дана вот допустим нарисованная линия ____________ и надо, чтобы она двигалась за курсором по вертикали (по горизонтали не надо) со своей скоростью. Допустим если мы курсор поднимем вверх и будем держать на месте то и линия поднимется до уровня курсора!»
Можно использовать следующий код:
low = 5;
_root.onEnterFrame = function() {
dy = Math.abs(_root._ymouse — _root.fuckingLine._y)/low;
if(_root.fuckingLine._y < (_root._ymouse — 1) ){
_root.fuckingLine._y += dy;
}
else if(_root.fuckingLine._y > (_root._ymouse + 1)){
_root.fuckingLine._y -= dy;
}
}
low = 5 — в данном примере — это замедление. Чем ближе высота линии к высоте курсора, тем медленнее эта линия двигается. Чем больше число, тем сильнее линия будет замедляться.
Вопрос: «Как я понял, fuckingLine — это название линии, а вот вопрос, как присвоить это название данной линии, не мог бы ты чуть по подробней объяснять!»
Как управлять линией:
Нарисовать линию
Нажать на неё правой кнопкой мыши.
выбрать convert to simbol.
в поле name написать произвольное имя (это имя символа).
окно закрылось.
нажать на линию левой кнопкой мыши один раз.
у окне свойств, которое расположено под рабочей областью, в поле «» вписать имя «fuckingLine» (это имя экземпляра символа).
Кстати, если скопировать код и заменить в копии Y на X, то получится линия, которая плавно следует за указателем мыши:
low = 5;
_root.onEnterFrame = function() {
dy = Math.abs(_root._ymouse — _root.fuckingLine._y)/low;
dx = Math.abs(_root._xmouse — _root.fuckingLine._x)/low;
if(_root.fuckingLine._y < (_root._ymouse — 1) ){
_root.fuckingLine._y += dy;
}
else if(_root.fuckingLine._y > (_root._ymouse + 1)){
_root.fuckingLine._y -= dy;
}
if(_root.fuckingLine._x < (_root._xmouse — 1) ){
_root.fuckingLine._x += dx;
}
else if(_root.fuckingLine._x > (_root._xmouse + 1)){
_root.fuckingLine._x -= dx;
}
}