[Game Maker Studio] Power Up Frage

  • GM 8

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

  • [Game Maker Studio] Power Up Frage

    Hallo :)

    Ich bin noch recht neu was Game Maker angeht und eher eine Designerin als eine Programmiererin, jedoch benötige ich für mein Portfolio ein Spiel und hab mir ein kleines dazu ausgedacht.

    Ich möchte in diesem Spiel ein bestimmtes Power Up einbauen und zwar:

    Sobald der Spieler den Gegenstand eingesammelt hat wird das Power Up aktiviert. Das power Up soll dem Spieler für einige Sekunden (ca. 5-7 Sek.) die Möglichkeit geben Gegner mit einer blosen Berührung zu zertören, aber auch Hindernisse, die dem Spieler vorher Leben abgezogen haben, können in diesem Zeitraum zerstört werden. Die Gegner und Gegenstände sollen sich dabei auflösen und verschwinden.

    Ein Beispiel wäre der Stern bei Super Mario. Sobald Mario den Stern einsammelt kickt er die Monster einfach weg. Wenn er jetzt noch Blöcke etc zerstören könnte wär das genau das Prinzip das ich bräuchte.

    Ich arbeite mit: Game Maker Studio (Free Version)

    Ich hoffe ihr könnt mir weiter helfen
  • Eine Möglichkeit wäre, eine Variable zu erstellen, die angibt, ob das Power Up aktiv ist. Bei Berührung mit einem Gegner/Hindernis wird diese Variable überprüft und dementsprechend der Gegner/Hindernis zerstört oder eben nicht.

    Eine andere Möglichkeit, wie sie auch in einem der Beispiele, die beim GM7 noch dabei waren verwendet wurde, wäre für jeden Gegner/Hindernis 2 Objekte zu verwenden: eine normale und eine verwundbare Version. Beim Aufsammeln des Power Ups werden die Objekte dann ausgetauscht.
    Ich habe die gmk mal mit angehängt.

    Den Timer (bis das Power Up abgelaufen ist) kannst du ganz einfach mit dem Alarm Event realisieren, indem du den Alarm auf Sekunden*room_speed setzt. room_speed gibt die Anzahl der Frames pro Sekunde an, d.h. room_speed entspricht dabei einer Sekunde.
    Bei Ablauf des Timers setzt du entweder die Variable wieder auf 0 oder, falls du dich für die andere Variante entschieden hast, du tauscht die Objekte wieder zurück.
    Dateien
    • treasure.gmk

      (504,28 kB, 136 mal heruntergeladen, zuletzt: )
  • Du brauchst das Power Up nur als Objekt das wasl verschwindet wenn der Player es eingesammelt hat.

    Im Player Kolisionsevent mit dem powerup setzt du die korrespondierende Variable auf 1 und einen Alarm der die oder das Powerup steuert auf die Zeit die es anhält.

    Im step Event des Players steht dann solange zB global.sternpower (oder sternpower falls die variable mit globalvar sternpower; initialisiert wurde) 1 ist, blinkt der player.
    In allen so zerstörbaren Objekten steht im Kollisionsevent mit dem Spieler, dass if sternpower = 1 -> isntance_destroy().

    Wenn das Alrmevent im Player dann nach soundsoviel steps aktiv wird stellt es sternpower wieder auf 0 und alles ist wieder normal.

    out now: KNOSSOS auf itch.io
    ancient-pixel.com <<< ich freue mich über einen Besuch! ^^
  • Für mich war es wtwas einfach das mit dem Austauschen.

    Mit einem Geschwindigkeitsboost hat das geklappt (normale Hummel mit Geschwindigkeithummel getauscht).

    Nun wollte ich das Selbe mit derm unverwundbar für paar Sekunden machen, dazu hab ich ein neues Testprojekt erstellt.

    Meine Hummel stibt bei Kollision mit den Ranken. Sammelt sie das Hufeisen (Power Up item) ein, kann sie durch die Ranken fliegen ohne Schaden zu nehmen, nur leider hört der Effekt nicht mehr auf.

    Ich hab als Austuschobjekt ein Hindernis genommen und zwar die Ranke. (Ranke normal und Ranke unverwundbar (durch fliegen ohne Schaden))
    Das die Hummel durchfliegen ko

    Ich hoffe die Screenshots helfen :/