Polecam zrobić taką funkcję/skrypt:
surface_check_and_set(surfaceid, width, height)
GML
var s;
if (!surface_exists(argument0) {
s = surface_create(argument1, argument2);
} else {
s = argument0;
}
surface_set_target(s);
I używanie tego zamiast surface_set_target(). Oczywiście mozna to ulepszyć i w globalnych zapisać wysokośc i szerokośc, żeby potem łatwo było zmienić, ale to już zostawiam własnym chęciom i wygodzie, bo jak surface uzywamy w jednym miejscu, to moze się nie opłacać pisać ekstra kodu bo szkoda czasu.