![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Jul 2005
Сообщений: 35
|
День добрый джентельмены.Непонятная засада случилась.
Затея следующая,при попадании в определенную зону курсора мыши,объект (по событию нажатия клавиши) начинает двигаться к курсору мыши.при выходе курсора из "зоны",объект должен возвращаться в заданную точку с определенной скоростью.Для этого создаем метод slideTo.Код такой: // создаем метод slideTo, мне кажеться,что его можно не проверять MovieClip.prototype.slideTo = function(leaderX, leaderY, speed) { if (mc._x != leaderX && mc._y != leaderY) { this.onEnterFrame = function() { var deltaX = mc._x-leaderX; var deltaY = mc._y-leaderY; var dist = Math.sqrt((deltaX*deltaX)+(deltaY*deltaY)); var moveX = speed*(deltaX/dist); var moveY = speed*(deltaY/dist); if (speed>=dist) { mc._x = leaderX; mc._y = leaderY; delete this.onEnterFrame; } else { mc._x -= moveX; mc._y -= moveY; } }; } }; //здесь указан тестовый код,подтверждающий работоспособность метода slideTo /*mc.onPress = function() { mc.startDrag(true); }; mc.onRelease = function() { mc.stopDrag(); mc.slideTo(100, 100, 100); };*/ // в данном коде метод slideTo,почему-то отрабатывается только один раз mc.onMouseDown = function() { if (_xmouse<300 && _ymouse<200) { mc._x = mc._x+(_xmouse-mc._x)/5; } else { trace("sdfg"); mc.slideTo(50, 50, 100); } }; но почему-то метод slideTo отрабатывается только один раз (в отличии от кода,который я "заслешел",там он отрабатывается нормально всегда). В чем причина "одноразовости" ,джентельмены? |
![]() |
Часовой пояс GMT +4, время: 07:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|