you can check for (I assume) a keydown using enterFrame. Then using mod an a frame count when that is detected you can control the interval at which the firing occurs
if(key.isDown(Key.SPACE)){
// fire key is pressed
if (firing++ % rate == 0){
// fire bullet - only every ‘rate’ frames
}else{
firing = 0; // reset counter when not firing
}
}
attach (or duplicate) your bullets within a movieclip, not the same scope as the ship itself. Then just keep that moveiclip below the ship and every bullet will then be under the ship as well. Having this movieclip at 0,0 will mean clips (bullets) within that clip will have the same cooridinates within that movieclip as they would outside.
Alos, if you could, please reduce the size of your footer to be at or below 15k (though you can get away with about 30 ;)). see http://www.kirupaforum.com/showthread.php?s=&threadid=12 for more information and footer guidelines.