Skip to content


Flash: Линия, которая перемещается по вертикали следуя за курсором

О том, как сделать, чтобы некий объект двигался по вертикали используя 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;
 }
}

Posted in Готовые решения, Как сделать, Программирование.

Tagged with , , .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.



Rambler's Top100 Яндекс цитирования