Einfaches RPG – Menü Tutorial
In diesem Tutorial werde ich euch den Grundgedanken hinter einem klassischem RPG Pausen Menü ála Pokemon zeigen:
___________________________
1.
/!ganz unten ist eine .rar mit der .gmk/!\
als erstes brauchen wir ein kleines Bild von unserem Menü:
Eins, Zwei, Drei […] sind natürlich nur Beispiele, ihr könnt alles beliebige reinschreiben.
Ich nehme setze jetzt mal Den Raum auf 240*160, da das in etwa die Auflösung eines GBA Spieles ist. Nennen wir unser kleines Bildchen vom Menü einfach mal „sMenu“
Ein hübsches Menü haben wir schonmal, jetzt brauchen wir eine Art Pfeil, der uns Anzeigt, wo wir uns im Menü befinden.
(etwas klein, aber er passt)
dieser kleine Kerl bekommt den Namen „sArrow“
einen Spieler brauchen wir auch noch:
ich belasse es so^^
nun sollten wir uns den Objekten witmen.
Als nächstes erstellen wir ein Objekt mit dem Namen „oMenu“.
Dieses wird das Menü darstellen und drawen. Wir setzen zunächst alle
Variablen, die wir brauchen:
„pos“ beschreibt, dass wir von Anfang an das erste ausgewählt haben,
maxpos bedeutet, dass es nichts höheres gibt, als 5
und minpos soll bewirken, dass es nichts niedrigeres als 1 gibt.
Nun kommen wir zum eigentlichen Code, im Draw-Event:
Alles anzeigen
Die Erklärung sollte eigentlich reichen, aber da dieses Tutorial auch Anfänger betrifft, erkläre ich es nocheinmal: in der ersten Zeile wird das Bild von unserem Menü gedrawt. Was eigentlich recht logisch ist. Dannach folgen die „if“ abfragungen, welche fragen, ob „pos“ 1 ist, oder 2, oder 3...
je nach dem welche Zahl „pos“ hat (1-5) wird unser kleiner Pfeil an der entsprechenden Position gedrawt.
Nun zum Step-Event.
Alles anzeigen
das sollte eigentlich auch noch recht einfach sein: wir fragen ab, ob die Leertaste gedrückt wurde. Wenn sie das ist, wird abgefragt, an welcher Position „pos“ ist. Wenn z.b. „pos“ auf 5 ist, zerstört sich unser Menü von selbst, und die Bewegung des Spielers wird mit global.canmove (dazu komme ich später) freigegeben.
… aber wie kommen wir zu den ganzen zahlen, die pos sein soll?
Nun, das geht relativ einfach: wir machen zuerst ein „Press Up“ event
(sieht so aus)
dort schreiben wir folgendes:
das ganze ist jetzt nicht sonderlich schweres, es bedeutet nur:
dass beim nach oben klicken unser Pfeil nach oben wandert. Allerdings
bleibt er bei 1 stehen.
Das ganze machen wir noch im gegenteil, ins „press down“ event:
das Bedeutet wieder nur, wenn wir nach unten klicken, geht unser Pfeil auch nach unten.
Allerdings kann unser pfeil „maxpos“ nicht übersteigen, bleibt also bei 5 stehen.
Jetzt wäre das Menü eigentlich auch schon fertig, aber ich will mal nicht so sein, und zeige euch noch, wie ihr das in ein kleines Spiel einbaut:
als nächstes macht ihr also ein objekt mit dem Namen „oPlayer“ das wird euer Spieler.
Wir schreiben ins Create event noch schnell
dadurch darf sich unser Spieler bewegen.
Nun kommen wir einen Schritt weiter ins „Step-event“
dort wird folgendes geschrieben:
Alles anzeigen
das ist auch ganz einfach: es wird abgefragt, ob wir uns bewegen dürfen (via global.canmove)
sollte es so sein, können wir uns mit den Richtungstasten frei bewegen.
Jetzt kommen wir noch ins „Press-Enter“ event:
damit legen wir fest, wenn wir „Enter“ drücken, dass unser Spieler sich NICHT mehr bewegen darf und wir das Menü erstellen.
Jetzt legt ihr noch schnell den Player in den Raum, der die Maße 240/160 hat und schwupp
auf testen klicken^^
Steuerung:
Pfeiltasten - Player Steuern
Enter – Das Menü öffnen
Oben/unten Pfeiltaste, bei offenem Menü lässt euch eure Sachen auswählen.
Und mit Leertaste wählt ihr etwas aus.
Ich hoffe ich habe das Verständlich erklärt, falls nicht bin ich für Fragen offen.^^
lg, domis4
In diesem Tutorial werde ich euch den Grundgedanken hinter einem klassischem RPG Pausen Menü ála Pokemon zeigen:
___________________________
1.
/!ganz unten ist eine .rar mit der .gmk/!\
als erstes brauchen wir ein kleines Bild von unserem Menü:
Eins, Zwei, Drei […] sind natürlich nur Beispiele, ihr könnt alles beliebige reinschreiben.
Ich nehme setze jetzt mal Den Raum auf 240*160, da das in etwa die Auflösung eines GBA Spieles ist. Nennen wir unser kleines Bildchen vom Menü einfach mal „sMenu“
Ein hübsches Menü haben wir schonmal, jetzt brauchen wir eine Art Pfeil, der uns Anzeigt, wo wir uns im Menü befinden.
(etwas klein, aber er passt)
dieser kleine Kerl bekommt den Namen „sArrow“
einen Spieler brauchen wir auch noch:
ich belasse es so^^
nun sollten wir uns den Objekten witmen.
Als nächstes erstellen wir ein Objekt mit dem Namen „oMenu“.
Dieses wird das Menü darstellen und drawen. Wir setzen zunächst alle
Variablen, die wir brauchen:
„pos“ beschreibt, dass wir von Anfang an das erste ausgewählt haben,
maxpos bedeutet, dass es nichts höheres gibt, als 5
und minpos soll bewirken, dass es nichts niedrigeres als 1 gibt.
Nun kommen wir zum eigentlichen Code, im Draw-Event:
GML-Quellcode
- draw_sprite(sMenu,0,x,y) //wir drawen das Bild vom Menü
- if pos = 1 // wenn die Auswahl 1 ist...
- {
- draw_sprite(sArrow,0,190,25) //drawen wir einen Pfeil an den ersten Menüpunkt
- }
- if pos = 2 // wenn die Auswahl 2 ist...
- {
- draw_sprite(sArrow,0,190,50) //drawen wir einen Pfeil an den zweiten Menüpunkt
- }
- if pos = 3 // wenn die Auswahl 3 ist...
- {
- draw_sprite(sArrow,0,190,75) //drawen wir einen Pfeil an den zweiten Menüpunkt
- }
- if pos = 4 // wenn die Auswahl 4 ist...
- {
- draw_sprite(sArrow,0,190,100) //drawen wir einen Pfeil an den zweiten Menüpunkt
- }
- if pos = 5 // wenn die Auswahl 5 ist...
- {
- draw_sprite(sArrow,0,190,125) //drawen wir einen Pfeil an den zweiten Menüpunkt
- }
Die Erklärung sollte eigentlich reichen, aber da dieses Tutorial auch Anfänger betrifft, erkläre ich es nocheinmal: in der ersten Zeile wird das Bild von unserem Menü gedrawt. Was eigentlich recht logisch ist. Dannach folgen die „if“ abfragungen, welche fragen, ob „pos“ 1 ist, oder 2, oder 3...
je nach dem welche Zahl „pos“ hat (1-5) wird unser kleiner Pfeil an der entsprechenden Position gedrawt.
Nun zum Step-Event.
GML-Quellcode
- if keyboard_check(vk_space)
- {
- if pos = 5
- {instance_destroy()
- global.canmove = true}
- if pos = 4
- {show_message(4)
- global.canmove = false}
- if pos = 3
- {show_message(3)
- global.canmove = false}
- if pos = 2
- {show_message(2)
- global.canmove = false}
- if pos = 1
- {show_message(1)
- global.canmove = false}
- }
- //je nachdem welcher Button ausgewählt wurde, passiert etwas anderes beim Drücken von der Leertaste
das sollte eigentlich auch noch recht einfach sein: wir fragen ab, ob die Leertaste gedrückt wurde. Wenn sie das ist, wird abgefragt, an welcher Position „pos“ ist. Wenn z.b. „pos“ auf 5 ist, zerstört sich unser Menü von selbst, und die Bewegung des Spielers wird mit global.canmove (dazu komme ich später) freigegeben.
… aber wie kommen wir zu den ganzen zahlen, die pos sein soll?
Nun, das geht relativ einfach: wir machen zuerst ein „Press Up“ event
(sieht so aus)
dort schreiben wir folgendes:
das ganze ist jetzt nicht sonderlich schweres, es bedeutet nur:
dass beim nach oben klicken unser Pfeil nach oben wandert. Allerdings
bleibt er bei 1 stehen.
Das ganze machen wir noch im gegenteil, ins „press down“ event:
das Bedeutet wieder nur, wenn wir nach unten klicken, geht unser Pfeil auch nach unten.
Allerdings kann unser pfeil „maxpos“ nicht übersteigen, bleibt also bei 5 stehen.
Jetzt wäre das Menü eigentlich auch schon fertig, aber ich will mal nicht so sein, und zeige euch noch, wie ihr das in ein kleines Spiel einbaut:
als nächstes macht ihr also ein objekt mit dem Namen „oPlayer“ das wird euer Spieler.
Wir schreiben ins Create event noch schnell
dadurch darf sich unser Spieler bewegen.
Nun kommen wir einen Schritt weiter ins „Step-event“
dort wird folgendes geschrieben:
GML-Quellcode
das ist auch ganz einfach: es wird abgefragt, ob wir uns bewegen dürfen (via global.canmove)
sollte es so sein, können wir uns mit den Richtungstasten frei bewegen.
Jetzt kommen wir noch ins „Press-Enter“ event:
damit legen wir fest, wenn wir „Enter“ drücken, dass unser Spieler sich NICHT mehr bewegen darf und wir das Menü erstellen.
Jetzt legt ihr noch schnell den Player in den Raum, der die Maße 240/160 hat und schwupp
auf testen klicken^^
Steuerung:
Pfeiltasten - Player Steuern
Enter – Das Menü öffnen
Oben/unten Pfeiltaste, bei offenem Menü lässt euch eure Sachen auswählen.
Und mit Leertaste wählt ihr etwas aus.
Ich hoffe ich habe das Verständlich erklärt, falls nicht bin ich für Fragen offen.^^
lg, domis4
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von domis4 ()