Schiebepuzzle - Example / Engine

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

    • Schiebepuzzle - Example / Engine

      Hi zusammen,

      ich habe vor kurzem die Frage gelesen, wie man ein Schiebepuzzle entwickelt. Da ich nichts weiter zu tun hatte, habe ich mich da mal rangesetzt. Meine Grundvoraussetzung war, dass man selber Bilder laden kann und dass automatisch jede Bildgröße verarbeitet wird. Außerdem war mir wichtig, dass man problemlos einstellen kann, wieviele Reihen das Puzzle haben soll.
      Das Spiel funktioniert folgendermaßen:
      1. Ein Teil anklicken, das gelöscht werden soll.
      2. Mischen startet automatisch - mit Linksklick anhalten
      3. Teile mit Linksklick verschieben (müssen an das Leerfeld angrenzen)
      4. Mit der rechten Maustaste lässt sich ein Menü aufrufen
      Zum Example selbst:
      • Ihr werdet feststellen, dass es aus 2 Rooms besteht. In Normalfall hätte ein Raum ausgereicht. Dann wäre auch das Objekt "obj_start" entfallen. Allerdings ist es so, dass die Raumgröße dem Bild angepasst wird. Das funktioniert aber nur, wenn man sich nicht in dem Raum befindet, dessen Größe verändert werden soll. Nur aus diesem Grund existieren "room_start" und "obj_start".
      • "obj_controller" überwacht und leitet das gesamte Spielgeschehen. Ich habe die einzelnen "Phasen" (Teil löschen, Mischen, Hauptspiel) in der Variable "global.GameProgress" gesteuert. Schaut euch einfach das obere Step Event an, da ist es näher erklärt.
      • Das Menü findet ihr im unteren Step Event von "obj_controller"
      • "obj_stone" ist ein Puzzle-Teil. Im Create Event bekommt es eine ID zugewiesen, die eigentlich nur für das Mischen wichtig ist. Im Step Event findet ihr den Mischvorgang und die Überprüfung, ob das Teil auf dem korrekten Platz liegt. Im "Left Pressed Event" befindet sich der Löschvorgang und das Bewegen zu einer freien Position.
      • Das Example selbst ist in verständlichem Englisch gehalten, der Infotext in Deutsch / Englisch.
      • In der ZIP-Datei sind schon ein paar Demo-Bilder zum Probieren enthalten. Das Example könnt ihr frei verwenden, die Grafiken bitte nicht! Credits sind nicht nötig, aber freuen würde ich mich trotzdem. ^^

      Download:





      Anmerkungen:


      Es kann bei den Rändern der Puzzleteile zu kleinen Unschönheiten kommen. Das liegt an den Bildgrößen. Die Mischmethode überarbeite ich evtl. bei Gelegenheit noch, so dass sie auch für größere Rätsel verwendet werden kann. Wenn das jemand anders übernehmen möchte - gern! ;)
      Ein ganz goßes Problem ist, dass ich es nur als gmk anbieten kann. Ich habe versucht, es nach gm6 z konvertieren, aber da gibt es scheinbar Probleme mit dem Ereugen der Sprites. Vielleicht gelingt es irgendjemand, das Ganze für den GM6 tauglich zu machen.
      Momentan passiert noch nichts, wenn alle Teile auf dem richtigen Platz sind. Dafür ist aber ein Bereich im oberen Step Event von "obj_controller" ganz unten vorgesehen:

      GML-Quellcode

      1. // Player wins
      2. if(global.GameProgress == 4) {
      3. // What happens?
      4. }


      Ok, ich hoffe, ich hab nichts vergessen. Hoffentlich hilft es dem Einen oder Anderen. Viel Spaß damit!
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
    • Die Seite die im folgendem Link vorgestellt wird hat auch ein ähnliches Example:
      Zerstörbare Umgebung

      Aber das Tutorial ist gut ^^.
      Der graue Hintergrund ist ein bisschen unfair. ;)
      57 6F 77 2C 20 64 61 73 20 68 61 73 74 20 64 75 20 67 61 6E 7A 20 61 6C 6C 65 69 6E 20 67 65 73 63 68 61 66 66 74 2E 20
    • Ich weiß nicht wo ich's hab. Aber es hatte eh einen Bug, siehe Beitrag von florpp.
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.