Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

How to make the window keep the aspect ratio? 🙏

(+1)

Using math, e.g. this instead of regular resize logic in demo’s Step

if (window_frame_get_visible()) {
    var w = window_frame_get_width();
    var h = window_frame_get_height();
    if (w > 0 && h > 0 && surface_exists(application_surface)
    && (window_get_width() != w || window_get_height() != h)
    ) {
        var gameWidth = 320, gameHeight = 240;
        var scale = min(w/gameWidth, h/gameHeight);
        var outWidth = gameWidth * scale;
        var outHeight = gameHeight * scale;
        var outX = (w - outWidth) div 2;
        var outY = (h - outHeight) div 2;
        // resize room (since we don't use views):
        room_width = outWidth; room_height = outHeight;
        // resize the game inside the frame-window to fit it's size:
        window_frame_set_region(outX, outY, outWidth, outHeight);
        // also resize application_surface:
        surface_resize(application_surface, outWidth, outHeight);
    }
}

gmlive.js demo

Thanks! But now I need the window to be adjusted to the game's resolution 😅

That may mean a few things so I trust that you can take it from here