Fokker
27.07.2005, 17:55
День добрый джентельмены.Разбираю тут одну задачку,в которой клип по щелчку мыши перемещается к ее курсору.Код следующий :
MovieClip.prototype.slideTo = function (leaderX,leaderY,speed) {
if (this._x != leaderX && this._y != leaderY) {
this.onEnterFrame = function () {
var deltaX= this._x-leaderX;
var delyaY= this._y-leaderY;
var dist=Math.sqrt((deltaX*deltaX)+(deltaY*deltaY));
var moveX=speed*(deltaX/dist);
var moveY=speed*(deltaY/dist);
if (speed>=dist) {
this._x = leaderX;
this._y = leaderY;
delete this.onEnterFrame;
} else {
this._x-=moveX;
this._y-=moveY;
}
}
}
}
ball_mc.onMouseDown=function () {
this.slideTo(_root._xmouse,_root._ymouse,10);
}
Но вот фигня в том,что скорость перемещения никак не меняется.....хоть 10 задай,хоть 10000 или 0.0001...можно вообще параметр не задавать,он почему-то никак не влияет....Как же все-таки сделать параметр скорости действующим?
MovieClip.prototype.slideTo = function (leaderX,leaderY,speed) {
if (this._x != leaderX && this._y != leaderY) {
this.onEnterFrame = function () {
var deltaX= this._x-leaderX;
var delyaY= this._y-leaderY;
var dist=Math.sqrt((deltaX*deltaX)+(deltaY*deltaY));
var moveX=speed*(deltaX/dist);
var moveY=speed*(deltaY/dist);
if (speed>=dist) {
this._x = leaderX;
this._y = leaderY;
delete this.onEnterFrame;
} else {
this._x-=moveX;
this._y-=moveY;
}
}
}
}
ball_mc.onMouseDown=function () {
this.slideTo(_root._xmouse,_root._ymouse,10);
}
Но вот фигня в том,что скорость перемещения никак не меняется.....хоть 10 задай,хоть 10000 или 0.0001...можно вообще параметр не задавать,он почему-то никак не влияет....Как же все-таки сделать параметр скорости действующим?