hulio
22.05.2004, 20:18
помогите пожалуйста решить такую проблему:
мне нужно сделать так, чтобы мувик (точку), можно было таскать не в прямоугольной области, а по определенной линии (например, по окружности).
я вот тут пытался что-то сам написать, но как то странно работает.
представляю на ваш суд:
_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.
то есть мувик не отпускается, а продолжает таскаться за мышкой.
объясните пожалуйста, в чем дело.
а лучше предложите более эффективный код.
мне нужно сделать так, чтобы мувик (точку), можно было таскать не в прямоугольной области, а по определенной линии (например, по окружности).
я вот тут пытался что-то сам написать, но как то странно работает.
представляю на ваш суд:
_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.
то есть мувик не отпускается, а продолжает таскаться за мышкой.
объясните пожалуйста, в чем дело.
а лучше предложите более эффективный код.