Display resolutions

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Display resolutions

    Hallo, ich sitze schon seit knapp 3 stunden an diesem problem:

    Ich möchte ein android game machen, muss dabei ja die verschiedenen resolutions beachten...

    also kann ich nicht einfach draw(x,y) angeben...

    wie mache ich das nun?
    ich habe: draw_healthbar(window_get_width()/2 -70 , window_get_height()-70 ,window_get_width()/2 + 70, window_get_height()-85, global.Leben, c_black, c_red, c_lime, 0, true, true);

    auf windows kein problem... auf mein galaxy s6 wieder alles etwas verschoben... also wie kann ich genau definieren wo welcher text steht, ohne dass es auf andere geräte anders aussieht?

    danke :)
  • 2. Mit display_get_oriantation kannst du herausfinden, ob dein Handy im Portrait oder Landscape Modus ist und es dem entsprechend anpassen.

    ha XD und genau darum geht es ja... anpassen... mein spiel hat ne auflösung von 1024x768 und mein handy zb ne auflösung von 2.560 x 1.440....
  • GML-Quellcode

    1. ///magic_scale(view, zoom)
    2. var ww = window_get_width();
    3. var hh = window_get_height();
    4. var xx = window_get_x();
    5. var yy = window_get_y();
    6. display_reset( 4 , true);
    7. window_set_rectangle( xx , yy , ww , hh );
    8. surface_resize( application_surface , ww , hh )
    9. view_wview[argument0] = ww/argument1;
    10. view_hview[argument0] = hh/argument1;
    11. view_wport[argument0] = ww;
    12. view_hport[argument0] = hh;
    13. display_set_gui_size(ww,hh);
    Alles anzeigen


    Hab ich in etwas anderer Form immer Für PC Spiele, hat auch ohne Probleme auf Android funktioniert, aber falls nicht dann musst du die display_ funktionen einsetzen. Sorgt dafür das dein Spiel vernünftig skaliertohne Verzerrung, dafür wird die Breite angepasst. Unterstützt auch zoom, wenn du 1:1 view haben willst dann schreib einfach ne 1 bei der zoomvariable
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
  • hier meine ganz kleine lösung ;) nach 6 stunden überlegen eine kleine formel:

    xratio = window_get_width()/1024 / 1024*768 Game resolution auch anpassen
    yratio = window_get_height()/768

    zb:

    draw_text((10*xratio),(10*yratio),"Time: " + show_minutes + ":" + show_seconds);

    nun könnt ihr wieder beliebig mit euren positionen arbeiten.


    mfg
  • Mein Ansatz nimmt die Höhe und berechnet dann automatisch die Breite, damit es auf allen unterschiedlichen Seitenformaten perfekt skaliert, da brauchst du dann auch keine magic numbers einsetzen
    EDIT: aber nimm, was immer du für richtig hälst
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel: