Este prototipo calcula y devuelve la velocidad de movimiento del movieClip sobre el que se aplica (obj)
Actionscript:
MovieClip.prototype.getSpeed = function() {
this.momento = new Date();
this.t2 = this.momento.getTime();
if (!this.t1) {
this.t1 = this.momento.getTime();
}
this.t = this.t2-this.t1;
this.t1 = this.t2;
//
this.dx2 = this._x;
this.dy2 = this._y;
if (!this.dx1 || !this.dy1) {
this.dx1 = this.dx2;
this.dy1 = this.dy2;
}
this.dx = Math.abs(this.dx2-this.dx1);
this.dy = Math.abs(this.dy2-this.dy1);
this.d = Math.sqrt(this.dx*this.dx+this.dy*this.dy);
this.dx1 = this.dx2;
this.dy1 = this.dy2;
//
this.v = Math.ceil(this.d/this.t*10);
return this.v;
};
//Uso
obj.onPress = function() {
startDrag(this);
this.onEnterFrame = function() {
this.barra_mc._yscale = this.getSpeed();
};
};
obj.onRelease = mc.onReleaseOutside=function () {
stopDrag();
delete this.onEnterFrame;
};
this.momento = new Date();
this.t2 = this.momento.getTime();
if (!this.t1) {
this.t1 = this.momento.getTime();
}
this.t = this.t2-this.t1;
this.t1 = this.t2;
//
this.dx2 = this._x;
this.dy2 = this._y;
if (!this.dx1 || !this.dy1) {
this.dx1 = this.dx2;
this.dy1 = this.dy2;
}
this.dx = Math.abs(this.dx2-this.dx1);
this.dy = Math.abs(this.dy2-this.dy1);
this.d = Math.sqrt(this.dx*this.dx+this.dy*this.dy);
this.dx1 = this.dx2;
this.dy1 = this.dy2;
//
this.v = Math.ceil(this.d/this.t*10);
return this.v;
};
//Uso
obj.onPress = function() {
startDrag(this);
this.onEnterFrame = function() {
this.barra_mc._yscale = this.getSpeed();
};
};
obj.onRelease = mc.onReleaseOutside=function () {
stopDrag();
delete this.onEnterFrame;
};
