In that case, offsetting probably would be an issue since the position of the sprite is determined by the upper left corner. Without an offset your circle would appear to the right of your firing point.
Look at the functions for setting speed and angle. You should be able to determine the angle fairly easily. If
xmouse = x coordinate of the mouse
ymouse = y coordinate of the mouse
xgun = x coordinate of the gun
ygun = y coordinate of the gun
tan (theta) = (ymouse - ygun)/(xmouse - xgun);
Solve for theta
theta = atan ((ymouse - ygun)/(xmouse - xgun));
I think. I've always moved my objects at angles using independent deltaX and deltaY values.
Lilith, Night Butterfly
I'm not a programmer but I play one in the office