Hola, buenas a todos!!!
Tengo un problema que ya me ha pasado en bastantes juegos y es con el tema del surface y con los eventos draw y draw_gui;
En este caso estoy trabajando en un proyecto, que se juega de manera horizontal, entoces para ello cree este script llamado

Resolution


   
// Obtenga el ancho y alto de la pantalla
    dispH = display_get_height()
    dispW = display_get_width()



y a como va a ser modo paisaje lo que hago es



    view_width = 960;  //960
    wh_ratio = dispW/dispH // Aspect radio
    view_height = view_width/wh_ratio; //y aqui lo escalamos para que coincida



Y por ultimo en este scritp tengo para el draw para que se aguste



    globalvar DRAWWIDTH, DRAWHEIGHT;    //creo una variable global  que la cargare en el obj_init al iniciar
    GUIWIDTH = view_width;
    GUIHEIGHT = view_height
    display_set_gui_size(view_width,view_height)




Entoces todo esto seria mi script de resolution, la verdad que me suele funcionar pero ahora tengo un problema y es que ha este juego e decidido meterle un ZOOM!! que lo saque del tutorial del GMS que viene;

OBJ_CAMARA

create

//zoom
initial_w = view_wview[0];
initial_h = view_hview[0];
v_scale = 1;
v_dist = 0;


step
var mx0raw, my0raw, mx1raw, my1raw;
mx0raw = device_mouse_raw_x(0);
my0raw = device_mouse_raw_y(0);
mx1raw = device_mouse_raw_x(1);
my1raw = device_mouse_raw_y(1);

if device_mouse_check_button(1, mb_left)
    {
    if device_mouse_check_button_pressed(1, mb_left)
       {
       v_dist = point_distance(mx0raw, my0raw, mx1raw ,my1raw) * v_scale;
       }
    v_scale = v_dist / max(1, point_distance(mx0raw, my0raw, mx1raw, my1raw));
    if v_scale < 0.5 v_scale = 0.5 else if v_scale > 1.5 v_scale = 1.5;
    view_wview[0] = initial_w * v_scale;
    view_hview[0] = initial_h * v_scale;
    view_xview[0] = x - (view_wview[0] / 2);
    view_yview[0] = y -(view_hview[0] / 2);
    }


Y entoces al hacer zoom que funciona perfectamente,pero lo que tengo en el obj_interfaz en el evento DRAW! se me vuelve loco osea se cambia de lugar todo y otro texto que aparece luego tambien cuando te matan! es decir afecta a los draw, aun que tambien puede ser por que el zoom esta deformando la room, nose....

Espero alguna respuesta ;)

Gracias por todo :) !!!

Usa el evento DRAW GUI paradibujar tu interfaz, esta hecho para eso y se supone que lo que dibujes ahi no se ve afectado por esos cambios en la view.
En este post hay un problema parecido : http://www.comunidadgm.org/preguntas-y-respuestas/deformacion-con-drag-gui/