Dove si trova la tabella Graphics?Alv ha scritto:https://www.yoyogames.com/blog/66
Global Game Settings > Windows > Graphicsben ha scritto:Dove si trova la tabella Graphics?Alv ha scritto:https://www.yoyogames.com/blog/66
Codice: Seleziona tutto
var base_w = 1024;
var base_h = 768;
var max_w = display_get_width();
var max_h = display_get_height();
var aspect = display_get_width() / display_get_height();
if (max_w < max_h) {
// portait
var VIEW_WIDTH = base_w;
var VIEW_HEIGHT = VIEW_WIDTH / aspect;
var ww = min(base_w, max_w);
var hh = ww / aspect;
}
else {
// landscape
var VIEW_HEIGHT = base_h;
var VIEW_WIDTH = VIEW_HEIGHT * aspect;
var hh = min(base_h, max_h);
var ww = hh * aspect;
}
view_wview[0] = floor(VIEW_WIDTH);
view_hview[0] = floor(VIEW_HEIGHT);
surface_resize(application_surface, ww, hh);
grazieAlv ha scritto:Se ti può servire, questa soluzione FULL SCALE è ancora meglio. Il vantaggio è che non riduce il campo visuale quando la dimensione del display è inferiore a quella di base.
Game Maker Studio da questo punto di vista è molto potente, con il sistema di view più la possibilità di ridimensionare l'application surface e la finestra.Codice: Seleziona tutto
var base_w = 1024; var base_h = 768; var max_w = display_get_width(); var max_h = display_get_height(); var aspect = display_get_width() / display_get_height(); if (max_w < max_h) { // portait var VIEW_WIDTH = base_w; var VIEW_HEIGHT = VIEW_WIDTH / aspect; var ww = min(base_w, max_w); var hh = ww / aspect; } else { // landscape var VIEW_HEIGHT = base_h; var VIEW_WIDTH = VIEW_HEIGHT * aspect; var hh = min(base_h, max_h); var ww = hh * aspect; } view_wview[0] = floor(VIEW_WIDTH); view_hview[0] = floor(VIEW_HEIGHT); surface_resize(application_surface, ww, hh);
Secondo me ti conviene lavorare ad alta risoluzione, tipo Full HD 1920x1080. L'unico problema è che nei vecchi dispositivi la memoria video potrebbe esaurirsi se le textures sono troppo grandi. Nel gioco per Android che ho realizzato rimpicciolisco gli sprites e i backgrounds al momento del caricamento in base alle dimensioni dello schermo, in modo da risparmiare memoria. Non so dirti però se in Game Maker sia possibile.
Spero possa esserti utile.
scusa il ritardo, metto questo codice come un oggetto normale?Alv ha scritto:Se ti può servire, questa soluzione FULL SCALE è ancora meglio. Il vantaggio è che non riduce il campo visuale quando la dimensione del display è inferiore a quella di base.
Game Maker Studio da questo punto di vista è molto potente, con il sistema di view più la possibilità di ridimensionare l'application surface e la finestra.Codice: Seleziona tutto
var base_w = 1024; var base_h = 768; var max_w = display_get_width(); var max_h = display_get_height(); var aspect = display_get_width() / display_get_height(); if (max_w < max_h) { // portait var VIEW_WIDTH = base_w; var VIEW_HEIGHT = VIEW_WIDTH / aspect; var ww = min(base_w, max_w); var hh = ww / aspect; } else { // landscape var VIEW_HEIGHT = base_h; var VIEW_WIDTH = VIEW_HEIGHT * aspect; var hh = min(base_h, max_h); var ww = hh * aspect; } view_wview[0] = floor(VIEW_WIDTH); view_hview[0] = floor(VIEW_HEIGHT); surface_resize(application_surface, ww, hh);
Secondo me ti conviene lavorare ad alta risoluzione, tipo Full HD 1920x1080. L'unico problema è che nei vecchi dispositivi la memoria video potrebbe esaurirsi se le textures sono troppo grandi. Nel gioco per Android che ho realizzato rimpicciolisco gli sprites e i backgrounds al momento del caricamento in base alle dimensioni dello schermo, in modo da risparmiare memoria. Non so dirti però se in Game Maker sia possibile.
Spero possa esserti utile.