You'll have to take the ship's rotation into account. The rotation is defined by a Matrix, so you should be able to just multiply the rotation matrix by a unit vector pointing forwards (i.e. Vector3(0,0,-1) ). This calculation will give you a forward vector in the current direction of the ship. The final step is to just have the bullet travel along that forward vector. Edit: Sorry, I just realized that you were referring to a 2d sprite (it's a 3D development habit). You should be able to apply the same principle of having a, now, 2d vector pointing in the direction of the positive y-axis, and use that as the forward vector. Hope it helps!