I need walls that work

Hey - this is my first Kirupa question. I’m a big fan of the forum and use it all the time, but I got to a point (with this) where i can’t go any further. Can’t find anything online or anywhere that will explain to me what i’m doing wrong. I have a circle, that i’m moving around with the up down left and right keyboard buttons. It accelerates and decelerates, and i think that has something to do with why the hit test isn’t working correctly. It pretty much just gets stuck in the wall, and lags slowly into the wall, and slowly out. Will someone let me konw what i’m doing wrong? Thanks - Chris

onClipEvent (load) {
 d = 1;
 r = 1;
}
 
onClipEvent (enterFrame) {
 
  if (Key.isDown(Key.LEFT)) {
   this._rotation -= 5;
  }
 
  if (Key.isDown(Key.RIGHT)) {
   this._rotation += 5;
  }
 
 if (Key.isDown(Key.UP)) {
  d += .25;
   if (d > 5) {
    d = 5;
   }
 
 this._x += d*Math.sin((_rotation*Math.PI)/180);
 this._y -= d*Math.cos((_rotation*Math.PI)/180);
 
} else {
  d -= .25;
  if (d < 0) {
   d = 0;
  }
 
  this._x += d*Math.sin((_rotation*Math.PI)/180);
  this._y -= d*Math.cos((_rotation*Math.PI)/180);
 
 }
 
 if (Key.isDown(Key.DOWN)) {
  r += .25;
  if (r > 5) {
   r = 5;
  }
  this._x -= r*Math.sin((_rotation*Math.PI)/180);
  this._y += r*Math.cos((_rotation*Math.PI)/180);
 
 } else {
  r -= .25;
  if (r < 0) {
   r = 0;
  }
 
  this._x -= r*Math.sin((_rotation*Math.PI)/180);
  this._y += r*Math.cos((_rotation*Math.PI)/180);
 
 }
 
 if (_root.wall.hitTest(getBounds(_root).xMax, _y, true)) {
  _root.circle.d = -.25;
  _root.circle.r = -.25;
 }
 if (_root.wall.hitTest(getBounds(_root).xMin, _y, true)) {
  _root.circle.d = -.25;
  _root.circle.r = -.25;
 }
 if (_root.wall.hitTest(_x, getBounds(_root).yMax, true)) {
  _root.circle.d = -.25;
  _root.circle.r = -.25;
 }
 if (_root.wall.hitTest(_x, getBounds(_root).yMin, true)) {
  _root.circle.d = -.25;
  _root.circle.r = -.25;
 }
}

The walls are wicked wicked choppy, and If i try to make a hittest with anything inside of the workspace, rather than just the edges, i can’t get it to work at all. thanks - chris
You can see the SWF / FLA here - - http://www.kirupa.com/forum/showthread.php?t=207685