Zoomexample

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

    • Hier habe ich mal ein kleines Example erstellt in dem das Ein- und Auszoomen erklärt wird.
      Vor allem habe ich darauf gemachtet, dass der View den raum nicht verlassen, und auch nicht größer als dieser werden kann.

      Fragen bitte per PN, Mail oder ICQ (siehe Profil).
      Dateien
      • zoomexample.zip

        (54,66 kB, 689 mal heruntergeladen, zuletzt: )
      Hier werden sie geholfen:
      [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
      [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


      "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
      "Selber denken regt das Gehirn an."
      - Niffel f.k.a. Kilik
    • Du musst einfach die Scale-Werte vervielfachen (je nach Geschwindigkeitswunsch)

      z.B. für vierfache Geschwindigkeit:

      I-Key:

      GML-Quellcode

      1. // Fragt ab, ob der View größer ist als 14, damit der View nicht umgekehrt wird.
      2. if view_wview > 14
      3. {
      4. // Bewegt die linke Seite des Views nach rechts.
      5. view_xview[0] += change * scale * 4;
      6. // Bewegt die obere Seite des Views nach unten.
      7. view_yview[0] += change * 4;
      8. // Bewegt die rechte Seite des Views nach links.
      9. view_wview[0] -= change * scale * 8;
      10. // Bewegt die untere Seite des Views nach oben.
      11. view_hview[0] -= change * 8;
      12. }
      Alles anzeigen


      O-Key:

      GML-Quellcode

      1. // Fragt ab, ob der View noch in den Raum passt.
      2. if view_wview < room_width
      3. {
      4. // Bewegt die linke Seite des Views nach links.
      5. view_xview[0] -= change * scale * 4;
      6. // Bewegt die obere Seite des Views nach oben.
      7. view_yview[0] -= change * 4;
      8. // Bewegt die rechte Seite des Views nach rechts.
      9. view_wview[0] += change * scale * 8;
      10. // Bewegt die untere Seite des Views nach unten.
      11. view_hview[0] += change * 8;
      12. }
      13. // Befindet sich die linke begrenzung des Views außerhalb des Raumes so wird sie an den rand gesetzt.
      14. if view_xview[0] < 0
      15. view_xview[0] = 0;
      16. // Befindet sich die obere begrenzung des Views außerhalb des Raumes so wird sie an den rand gesetzt.
      17. if view_yview[0] < 0
      18. view_yview[0] = 0;
      19. // Befindet sich die rechte begrenzung des Views außerhalb des Raumes so wird sie an den rand gesetzt.
      20. if view_xview[0] > room_width - view_wview[0]
      21. view_xview[0] = room_width - view_wview[0];
      22. // Befindet sich die untere begrenzung des Views außerhalb des Raumes so wird sie an den rand gesetzt.
      23. if view_yview[0] > room_height - view_hview[0]
      24. view_yview[0] = room_height - view_hview[0];
      Alles anzeigen



      Wichtig sind die Abschnitte:

      I-Key:
      view_xview[0] += change * scale * 4;
      view_yview[0] += change * 4;
      view_wview[0] -= change * scale * 8;
      view_hview[0] -= change * 8;

      und

      O-Key:
      view_xview[0] -= change * scale * 4;
      view_yview[0] -= change * 4;
      view_wview[0] += change * scale * 8;
      view_hview[0] += change * 8;


      In allen Acht Zeilen wurde ein vierfacher Wert eingetragen (... * 4 bzw. ... * 8, wenn vorher schon ...* 4 stand .).
      Die Acht Zeilen errechnen sich natürlich aus
      zoom-in in alle vier Richtungen und zoom-out in alle vier Richtungen um Gleichmäßiges zoomen zu gewährleisten.



      Ich hoffe ich konnte dir helfen

      mfg gm-freak
      [SIZE="25"][COLOR="Red"]XP Hilfe - Schluss mit PC-Problemen[/COLOR][/SIZE]
      [SIZE="20"]http://xphilfe.de.tt[/SIZE]

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von gm-freak ()

    • Leg die Steuer-Events zusammen ins Step event und frag einfach vorher die Maus-Koordinaten ab.
      Hier werden sie geholfen:
      [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
      [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


      "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
      "Selber denken regt das Gehirn an."
      - Niffel f.k.a. Kilik
    • Das problem bei dem example ist, das es einen screenshot mahct und dann zoomt es, sommit kann man im spiel keine bewegung machen, z.b mit dem spieler laufen. ODer se ich das fasch
      aber ansonsten ist es sehr hilfreich
      soory bin grad draufgekommen das ich mich irre, funktioniert einbandfrei mit bewegenden objekten,sorry

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