Viewgrößenproblem: View passt sich nicht der Auflösung an (3d)

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

  • Viewgrößenproblem: View passt sich nicht der Auflösung an (3d)

    Hallo Leute!!

    Ich möchte, dass der GameMaker die Auflösung des PCs heraufindet und dann den (den?) View anpasst.
    Ich hab hier gesucht und auch gefunden, aber irgendwie funktioniert das nicht...:
    Das Spiel ist ein 3d-Spiel, was aber nichts damit zutun haben kann, weil ich die Viewgröße im room einstellen kann, was auch funktioniert...

    Im Create-Event

    GML-Quellcode

    1. view_hport[0]=display_get_height()
    2. view_wport[0]=display_get_width()
    3. view_wview[0]=display_get_width()
    4. view_hview[0]=display_get_height()


    Wenn ich zum Test das mache:

    GML-Quellcode

    1. view_wview[0]=640
    2. view_hview[0]=480
    3. view_wport[0]=640
    4. view_hport[0]=480

    1.:
    (voreingestellte Viewgröße: 1024*768 )
    Dann hab ich ein schwarzes Fenster mit den Maßen 1024*768.
    Und darin befindet sich der (der?) View mit den Maßen 640*480.
    2.:
    (voreingestellte Viewgröße: 320*240 )
    Dann hab ich ein Fenster mit den Maßen 320*240.
    Und darin befindet sich der View mit den Maßen 640*480.
    Das heißt, ich sehe nur das Viertel oben-links.

    Hab auch noch mal ein Example angehangen...
    Dateien
    • beispiel.rar

      (379,04 kB, 172 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Tobi ()

  • es hilft nach der umstellung kurz den room zu wechseln
    dann wird die fenstergröße angepasst

    €dit: mir war so als hätt ich dazu schonmal was geschrieben
    €dit: jop hier:
    Room Size auf Window Size anpassen

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von iTeM ()

  • Irgendwie geht das nicht:
    Create/Step (Hab beides ausprobiert):

    GML-Quellcode

    1. if(global.fw!=window_get_width() || global.fh!=window_get_height())
    2. {
    3. global.fw=window_get_width();
    4. global.fh=window_get_height();
    5. view_wview[0]=global.fw;
    6. view_wport[0]=global.fw;
    7. view_hview[0]=global.fh;
    8. view_hport[0]=global.fh;
    9. room_goto(room_changescreen)
    10. }


    Und im room_changescreen creation code:

    GML-Quellcode

    1. room_goto(room_level)


    Ich hab erst nur room_level auf Persistent gestellt, und danach beide, aber nichts funktioniert.
    Der view ist immernoch genauso groß wie vorher. ?(
  • Ich möchte nur, dass wenn der Spieler eine größere Auflösung hat, dass dann der Player links/rechts/oben und unten mehr sieht... Das Bild darf nicht verzerrt werden.

    Und wenn ich richtig denke, dann müsste das Fenster und der View genauso groß sein wie der Bildschirm und es ist nichts verzerrt bzw. vergrößert.

    Deinem Code zufolge müsste genau das passieren.

    View_wport, view_hport, view_hview, view_wport werden genau auf die Auflösung eingestellt...

    Ich glaub, ich lass den GM einfach die Auflösung umstellen...

    Aber trotzdem DANKE!
  • Boa ich bin doch so dumm!
    In meinem ersten Post hab ich ja display_get_height/display_get_width benutzt, hab dann aber deins nur übernommen und nichts verändert! :headtouch: :headtouch: :headtouch: :headtouch:

    DANKE funktioniert...Habs genauso gemacht wie bei deinem nur statt window_get_... display_get_...
  • Sorry dass ich das alte Ding wieder rauskrame, aber hatte selbst das Problem. Wer es nun ganz einfach will:

    :event_other: Game Start

    GML-Quellcode

    1. view_hport[0]=display_get_height();
    2. view_wport[0]=display_get_width();
    3. view_wview[0]=display_get_width();
    4. view_hview[0]=display_get_height();
    5. room_restart();


    Room muss Persistent sein ;)
    Dieser Beitrag wurde bereits 1909 mal editiert, zuletzt von »Sharivari« (Morgen, 19:89)