I hope you realize how ridiculously inefficient everything you're doing is. It would be funny if it wasn't so damn bad.
basically you're trying to use AS3 like you used AS2.
This is a no-no. It won't work, AS3 is too different.
public class tank_turret extends MovieClip
should be:
public class TankTurret extends Sprite
var round:round_mc = new round_mc();
why???
var fired:Boolean = false;
I can almost guarantee a more efficient way of doing this.
stage.addEventListener(Event.ENTER_FRAME, update);
don't abuse stage. That's like using "_root." everywhere in AS2.
slope_frontXY = slope_front.parent.parent.localToGlobal(slope_frontXY);
i'm going to cry. Children don't access parents. If you must do something, dispatch an event (even better, a Signal)
protected function mouseClicked(e:MouseEvent) {
does this need to be protected? Why?
stage.addChild(round);
you add children to classes extending DisplayObject, only one thing should ever bi in the stage, and that's Main.
protected function update(e:Event) {
again, unless you're planning on extending this class (I hope not), it doesn't need to be protected.
also, I dunno if it's a bad copy/paste, but your formatting is way off.