Room Size auf Window Size anpassen

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

  • Room Size auf Window Size anpassen

    Hallo an alle!

    Ich bin grad am Rumprobieren. Ich wollte mal versuchen, ein für mich nützliches Grafikprogramm zu erstellen. Da kam mir die Idee, dass man ja jedes Fenster skalieren kann. Nun nutze ich also dafür zwei Views. Eine ist für die ganzen Tools (zB. Linie, Ellipse, Füllen etc) zuständig und die andere quasi für das Bearbeitungsfeld (in dem man die Grafiken anfertigt). Ein wirklich gutes Beispiel dafür ist MSPaint. Im Grunde genommen wird es was ganz anderes, aber auf diesem Weg ist das Problem am besten zu schildern. Nun experimentiere ich die ganze Zeit, damit die Tool-View immer links oben anfängt und immer die gleiche Grösse behält, egal wie gross man das Fenster macht. Ebenso soll die Bearbeitungsview mit der Fenstergrösse wachsen und schrumpfen. Hat jemand schonmal sowas gemacht oder eine Idee, wie man das umsetzen kann?

    MfG, mauge
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Mit dem wachsen und schrumpfen hat Gamemake irgendwo so eine funktion mit der du das einschalten kannst. Dann kopierste diesen Code in den Stepevent (hab jetzt nur für die bearbeitungsfläche gemacht (ich weiß ja nicht wie die Toolbar sein soll)).

    GML-Quellcode

    1. view_wport[0]=window_get_width()
    2. view_hport[0]=window_get_height()
    3. view_wview[0]=view_wport[0]
    4. view_hview[0]=view_hport[0]
  • Mit dem Wachsen und schrumpfen mein ich aber nicht, dass die View skaliert wird, sondern dass sich ihr Erfassungsbereich vergössert.
    @Bernt: Dein Code funzt so leider nicht. Das hatte ich schon probiert.

    Ich bin mittlerweile hier angekommen:

    GML-Quellcode

    1. view_wview[1]=window_get_width();
    2. view_hview[1]=window_get_height();


    Das geht aber genauso wenig.

    Hier mal die GM6, viell ist es dann verständlicher:

    Klickmich!

    Ich hab bis jetzt nur die View[1] probiert.. Also nicht wundern ;)
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.

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

  • also beim erstellen von Smart poly habe ich das selbe problem. irgendwie schafft es der game maker nicht, gleichmäßig zu vergrößern, oder ich bin einfach zu blöd dazu. wenn du eine lösung gefunden hast, wäre es toll, wenn die sie hier offenlegst.
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • @Win: Da sowas glaube eher dein Spezialgebiet ist, sehe ich schwarz.. Kannst du mir deinen Weg mal erklären? Dann hab ich viell nochmal nen neuen Ansatz.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • ich habe mich, da ich nichts besseres gebacken bekommen habe, auch für diesen code entschiednen:

    GML-Quellcode

    1. view_hview[0]=window_get_height();
    2. view_wview[0]=window_get_width();

    die so erreichte skalierung ist aber sehr mäßig.
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • @Win: Hmm. Das ist auch nicht das, was ich meinte. Das skaliert die View und das, was sie anzeigt. Ich will aber erreichen, dass die View dadurch entweder mehr oder weniger anzeigt. Ich habs mal im GMC gepostet. Mal schauen was dabei rauskommt..
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Viewport MUSS ebenfalls geändert werden. Ich hab das probiert:

    GML-Quellcode

    1. view_wview[1]=window_get_width()-view_xview[1];
    2. view_hview[1]=window_get_height();
    3. view_wport[1]=view_wview[1];
    4. view_hport[1]=view_hview[1];


    Anfangs sah es ja normal aus nur als ich es dann skaliert hatte stimmte garnichts mehr. Das sieht für mich aus wie n bug.
  • @Bernt: Und welche Einstellungen hast du dazu bei den Global Game Settings getroffen?
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Original von bernt
    Viewport MUSS ebenfalls geändert werden. Ich hab das probiert:

    GML-Quellcode

    1. view_wview[1]=window_get_width()-view_xview[1];
    2. view_hview[1]=window_get_height();
    3. view_wport[1]=view_wview[1];
    4. view_hport[1]=view_hview[1];


    Anfangs sah es ja normal aus nur als ich es dann skaliert hatte stimmte garnichts mehr. Das sieht für mich aus wie n bug.


    Du hast diesen Code dort einfach ins Step Event gemacht und dann hats gefunzt?
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Also ich hab mal etwas rumgespielt. Man kann das Fenster durchaus vergrößern damit man mehr sieht, oder stufenlos skalieren. Beim einfachen Vergrößern ergibt sich aber das Problem, das man das Fenster nicht mehr verkleinern kann, der Game Maker wehrt sich vehement das Fenster per Maus kleiner als den View ziehbar zu machen.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • Hier mal der Code, den ich mir bisher zusammengereimt habe:

    GML-Quellcode

    1. view_hport[0]=window_get_height();
    2. view_wport[0]=window_get_width();
    3. view_hview[0]=window_get_height();
    4. view_wview[0]=window_get_width();
    5. window_set_region_size(window_get_width(),window_get_height(),false);
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • @WA: Ja, das ist mir auch aufgefallen. Es ist ein ganz schönes Problem. Kannst du mir deine Test.gm6 ma uploaden? Viell kann ich das dann irgendwie umgehen.

    €dit: Oops. Hast ja schon. Geht aber irgendwie bei mir nicht. Ausserdem darfst du "window_set_region_size" nicht im Step verwenden.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.

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

  • Dazu brauchst keine gm6. Einfach einen Raum mit beliebiger Größe (größer als das Fenster natürlich) und einen View. Dann ein Objekt da reinsetzen das den Code im Step Event hat und in den Game Settings schauen, das man das Fenster skalieren kann.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • Nochmal zur Klärung. Stellt euch ein Haus auf dem Bildschirm vor. Wenn das Fenster nun kleiner gemacht wird, soll das Haus nicht kleiner werden. Man soll einfach weniger davon sehen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Hm... ok. Irgendwie zeigt sich der GM ziemlich hartnäckig, ich bekomm es nicht hin die Fläche, auf der er zeichnet, nach dem Betreten eines Raumes zu ändern. Ich kann an den Views rumschrauben wie ich will, aber das hat gar keine Auswirkungen. Scheinbar geht das leider nicht.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • Ich würde fast wagen zu behaupten, dass der Bereich um den Room von vornherein so eingestellt ist und nicht "betreten" werden kann..
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.