Hallo, nach einigen Suchen und Kopfzerbechen habe ich erstmal ein nettes Script gefunden das mir im ersten Augenblick weiter geholfen hat
aber anscheinend nicht richtig funktioniert, bzw. ich vieleicht einen Denkfehler mache.
Zu erstmal,
ich habe hier ein Objekt in dem steht unter
Create:
In Step:
und hier die Function/Script selber das die Auflösung anpasst, sowohl auf Landscape und Portrait Format.
Alles anzeigen
Soweit so gut.
Die Room eigenschaften:
Roomgrösse = 1984 * 1984
wview = 1024
wport = 1024
hview = 768
hport = 768
// mit dem h/wview da komm ich klar, aber für was soll w/hport gut sein?
Dieses Objekt habe ich im Room mitplaziert.
Wenn ich dem Compilieren das Spiel starte, sind die Sprites zwar alle super, aber hier habe ich Schwarze Balken an den seiten, sprich, der Room wird mit 1024 * 768 angezeigt.
Drehe ich nun das Handy von Landscape auf Portrait wird es korekt mit 720 * 1280 angezeigt.
Drehe ich das ganze wieder zurück auf Landscape sind die Balken weg und es läuft wie es sollte mit 1280 * 720 pixel.
Wie kann ich hier verhindern das es erst mit den Room einestellungen startet und nicht mit der Auflösung des Handys ( Darf man Handy überhaubt noch sagen oder ist Smartphone besser?)
Hier noch ein kleines Video wo es veranschaulicht.
youtu.be/wq-uARny380
Schmal vielen Dank
aber anscheinend nicht richtig funktioniert, bzw. ich vieleicht einen Denkfehler mache.
Zu erstmal,
ich habe hier ein Objekt in dem steht unter
Create:
In Step:
und hier die Function/Script selber das die Auflösung anpasst, sowohl auf Landscape und Portrait Format.
GML-Quellcode
- // check the window height and initialise variables, Bildschirm neu einlesen
- var ww = window_get_width();
- var wh = window_get_height();
- var wError = 0;
- // ist die fensterbreite kleiner 192 Pixel, auf 192 pix einstellen.
- //script know that an error has occurred
- if (ww<192) {
- ww = 192;
- window_set_size(192,wh);
- pre_ww = ww;
- wError = 1;
- }
- // das gleich für die höhe, hier 32 Pixel.
- if (wh<32) {
- wh = 32;
- window_set_size(ww,32);
- pre_wh = wh;
- wError = 1;
- }
- // if no errors have occurred, continue, wenn kein Error
- if !(wError==1) {
- // check if the window size has actually changed since the last step
- if !(pre_ww==ww) or !(pre_wh==wh) {
- // check in which direction the screen is bigger (important for devices you can turn around, like surface tablets)
- if (ww>=wh) {
- // resize the views, their ports, the application surface and the GUI
- var ar = wh/ww;
- var new_ww = min(ww,1920);
- var new_wh = round(new_ww*ar);
- view_wview[0]=new_ww;
- view_wport[0]=new_ww;
- view_hview[0]=new_wh;
- view_hport[0]=new_wh;
- if (application_surface_is_enabled()) {
- surface_resize(application_surface,new_ww,new_wh);
- }
- display_set_gui_maximise();
- // reset the values to check whether the window has changed next step
- pre_ww = ww;
- pre_wh = wh;
- } else {
- // resize the views, their ports, the application surface and the GUI
- var ar = ww/wh;
- var new_wh = min(1920,wh);
- var new_ww = round(new_wh*ar);
- view_wview[0]=new_ww;
- view_wport[0]=new_ww;
- view_hview[0]=new_wh;
- view_hport[0]=new_wh;
- if (application_surface_is_enabled()) {
- surface_resize(application_surface,new_ww,new_wh);
- }
- display_set_gui_maximise();
- // reset the values to check whether the window has changed next step
- pre_ww = ww;
- pre_wh = wh;
- }
- }
- }
Soweit so gut.
Die Room eigenschaften:
Roomgrösse = 1984 * 1984
wview = 1024
wport = 1024
hview = 768
hport = 768
// mit dem h/wview da komm ich klar, aber für was soll w/hport gut sein?
Dieses Objekt habe ich im Room mitplaziert.
Wenn ich dem Compilieren das Spiel starte, sind die Sprites zwar alle super, aber hier habe ich Schwarze Balken an den seiten, sprich, der Room wird mit 1024 * 768 angezeigt.
Drehe ich nun das Handy von Landscape auf Portrait wird es korekt mit 720 * 1280 angezeigt.
Drehe ich das ganze wieder zurück auf Landscape sind die Balken weg und es läuft wie es sollte mit 1280 * 720 pixel.
Wie kann ich hier verhindern das es erst mit den Room einestellungen startet und nicht mit der Auflösung des Handys ( Darf man Handy überhaubt noch sagen oder ist Smartphone besser?)
Hier noch ein kleines Video wo es veranschaulicht.
youtu.be/wq-uARny380
Schmal vielen Dank
