![]() |
нестандартный Drag'&'Drop
помогите пожалуйста решить такую проблему:
мне нужно сделать так, чтобы мувик (точку), можно было таскать не в прямоугольной области, а по определенной линии (например, по окружности). я вот тут пытался что-то сам написать, но как то странно работает. представляю на ваш суд: _root.point_mc.onPress=function(){ this.startDrag(true, x0-radius,this._y,x0+radius,this._y); this.onMouseMove=function(){ this._y=Math.sqrt(radius*radius-(this._x-x0)*(this._x-x0))+y0; this.stopDrag(); this.startDrag(true, x0-radius,this._y,x0+radius,this._y); } /* (x0,y0) -координаты центра окружности, по которой будем таскать мувик point_mc radius - радиус этой окружности */ _root.point_mc.onRelease=fuction(){ this.stopDrag(); } это конечно не по окружности будет движение, а по полуокружности, но даже не это важно. не работает обработчик onRelease. то есть мувик не отпускается, а продолжает таскаться за мышкой. объясните пожалуйста, в чем дело. а лучше предложите более эффективный код. |
вариант
Код:
r=100; |
Вариант другой - создать изображение области перетаскивания, просто нарисовав его и превратив в клип. Потом постоянно сверять на совпадение мыши и этой области через hitTest() (в случае с мышью совпадение будет очень даже точным). Это если надо сделать в определенных нестандарных границах. В противном случае - вариант silin-а как раз.
|
спасибо за помощь, вечерком попробую сделать, как вы говорите.
|
| Часовой пояс GMT +4, время: 18:44. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.