Random movement - AS

http://www.kirupa.com/developer/mx/random_motionMX.htm

I followed this tutorial on kirupa’s page for random movement with AS. Quite good.

Looking the movement for a time you realise it is very linear. How can I add some easyin and easyout when the MC is about to stop? Can I do the transition on the directions more smooth, I mean, not like a sharp corner more like a smooth curve.

I will place the code here:

function getdistance(x, y, x1, y1) {
    var run, rise;
    run = x1-x;
    rise = y1-y;
    return (_root.hyp(run, rise));
}
function hyp(a, b) {
    return (Math.sqrt(a*a+b*b));
}
MovieClip.prototype.reset = function() {
    //specify the width and height of the movie
    width = 1280;
    height = 1024;
    //-------------------
    var dist, norm;
    this.x = this._x;
    this.y = this._y;
    this.speed = Math.random()*80+2;
    this.targx = Math.random()*width;
    this.targy = Math.random()*height;
    dist = _root.getdistance(this.x, this.y, this.targx, this.targy);
    norm = this.speed/dist;
    this.diffx = (this.targx-this.x)*norm;
    this.diffy = (this.targy-this.y)*norm;
};
MovieClip.prototype.move = function() {
    if (_root.getdistance(this.x, this.y, this.targx, this.targy)>this.speed) {
        this.x += this.diffx;
        this.y += this.diffy;
    } else {
        this.x = this.targx;
        this.y = this.targy;
        if (!this.t) {
            this.t = getTimer();
        }
        if (getTimer()-this.t>1) {
            this.reset();
            this.t = 0;
        }
    }
    this._x = this.x;
    this._y = this.y;
};

Cheers,
Diego