Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 02:37

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Game Maker] Simples Jump and Run erstellen [EASY]

Discussion on [Game Maker] Simples Jump and Run erstellen [EASY] within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
irrenhaus's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 2,520
Received Thanks: 4,567
Smile [Game Maker] Simples Jump and Run erstellen [EASY]

Hallo Community,

Heute zeig ich euch wie ihr mit dem Game Maker ein Simples Jump and Run erstellt.

Hier ist eine kurze Liste was ihr benötigt
  • Game Maker
  • Game Maker Grundkentnisse

Ich werde es so einfach wie möglich für euch machen.

Da ich gerne auf Drag and Drop verzichte ist das hier ein Code Tutorial.


So dann fangen wir auch gleich mal an...
Als erstes macht ihr ein Neues Spiel und erstellt 5 Sprites (als beispiel 32x32)
Code:
[COLOR="Orange"]spr_player_idle
spr_player_move
spr_block
spr_ramp_l
spr_ramp_r
[/COLOR]
Zu beachten sind die sprites:
Code:
[COLOR="Orange"]
spr_ramp_l
spr_ramp_r
[/color]
diese müssen immer 1 pixel größer in der Weite sein als der Block Sprite.
Und dann setzt ihr noch bei X: anstatt eine 0 eine 1 rein.
Das sieht dann so aus:

So das hätten wir schonmal.
Nun kommen wir zu den Objecten.

Als erstes erstellen wir 5 Objecte,
Code:
[COLOR="Orange"]obj_player
obj_block_parent
obj_block
obj_ramp_r
obj_ramp_l[/COLOR]
Und zu beachten sind dort schon die Optionen!
Code:
[COLOR="Orange"]
obj_block
obj_ramp_r
obj_ramp_l
obj_block_parent[/COLOR] (Nur solid keinen parent auswählen!)
Bei diesen Objecten müsst ihr bei Solid einen Hacken machen
und als Parent
Code:
[COLOR="Orange"]
obj_block_parent
[/color]
auswählen!
das sieht dann wie folgt aus:

So nun kommen wir zu dem etwas spannenderen Teil.

Als erstes bearbeiten wir obj_player.

Dazu erstellen wir ein Step-Event ( )
und dort packen wir einen Code rein ( )

Nun fangen wir als erstes mit dem wohl wichtigstem im Jump and Run Game an, die Gravitation!

Dazu packen wir folgenden code in das Step event:
Code:
if place_free(x,y+1) //Checken ob Platz frei ist!
{
gravity = 1; //Gravitation auf 1 setzen
}
else //Wenn kein Platz frei ist...
{
gravity = 0; //...Gravitation auf 0 setzen
}
So nun haben wir schonmal den Basic Gravitations Script.
Doch darunter packen wir noch etwas:
Code:
if vspeed > 14 //Wenn die Vertikale Geschwindigkeit größer als 14 ist  dann...
{
 vspeed = 14; //...ist vspeed = 14
}
So das sieht doch schonmal ganz gut aus

Der fertige Code müsste nun so aussehen:
Code:
if place_free(x,y+1) //Checken ob Platz frei ist!
{
gravity = 1; //Gravitation auf 1 setzen
}
else //Wenn kein Platz frei ist...
{
gravity = 0; //...Gravitation auf 0 setzen
}

if vspeed > 14 //Wenn die Vertikale Geschwindigkeit größer als 14 ist  dann...
{
 vspeed = 14; //...ist vspeed = 14
}
Das ist ja für den Anfang nicht schlecht doch nun fällt der Character einfach nur runter und ist weg...
Das wollen wir ja nicht!

Und deshalb machen wir folgendes:
Wir Erstellen ein Neues Collision - Event ( )(mit obj_block_parent) und packen dort wieder ein Code rein, in den wir dashier reinschreiben:
Code:
move_contact_solid(270,4)// 270 => Direction => Vertikal nach unten , 4 => Maximale Entfernung.  Wenn man nun den Block berührt ist es ein fester Gegenstand!
vspeed = 0; //vspeed = 0 , also man fällt nun nichtmehr hinunter!
So um das zu testen, kann man schoneinmal einen neuen raum erstellen
und ein paar Blöcke reinpacken und auf den grünen Pfeil ganz oben drücken ( oder F5).
Das sieht bei mir nun so aus:


Naja aber das ist ja noch nicht alles nun kommen wir zu dem etwas schwereren Teil, undzwar die Bewegung.

Dazu gehen wir wieder das Step event vom obj_player und öffnen den Code

ganz unten packen wir dashier rein:
Code:
if (keyboard_check(ord("D"))) // Wenn man auf der Tastatur D drückt ( ord("D") für pfeil tasten vk_left/right/up/down ) dann...
{
if place_free(x+4,y) // wenn der Platz frei ist 4 pixel neben dem player dann...
{
x+= 4; // wird die x Position von dem Player um 4 erhöht!
sprite_index = spr_player_move; // Der Sprite des Players wird nun zu dem bewegungs sprite gechanged!
image_xscale = 1; // die Image XScale ( oder auch Spiegelung der X-Achse) ist 1 also normal
}
else //Wenn nicht!
{
if place_free(x+4,y-4) // Checken ob vllt etwas höher noch platz Frei ist! ( rampen Effekt!)
{
x+=4; //hab ich schon erklärt
y-=4; // die X Position des Players wird um 4 reduziert damit er nach oben geht!
sprite_index = spr_player_move;
image_xscale = 1;
}
}
}
Das war jetzt schon ein wenig basic script!
Dieses event wiederholt man auch für den Anderen button! doch bitte beachten das die Werte anders Abgezogen werden müssen!:
Code:
if (keyboard_check(ord("A"))) // Wenn man auf der Tastatur A drückt ( ord("A") für pfeil tasten vk_left/right/up/down ) dann...
{
if place_free(x-4,y) // wenn der Platz frei ist 4 pixel neben dem player dann...
{
x-= 4; // wird die x Position von dem Player um 4 reduziert!
sprite_index = spr_player_move; // Der Sprite des Players wird nun zu dem bewegungs sprite gechanged!
image_xscale = -1; // die Image XScale ( oder auch Spiegelung der X-Achse) ist -1 also spiegelverkehrt!
}
else //Wenn nicht!
{
if place_free(x-4,y-4) // Checken ob vllt etwas höher noch platz Frei ist! ( rampen Effekt!)
{
x-=4; //hab ich schon erklärt
y-=4; // die X Position des Players wird um 4 reduziert damit er nach oben geht!
sprite_index = spr_player_move;
image_xscale = -1;
}
}
}
So..
Der Fertige Code sieht bei mir nun so aus:

Wie man schwer erkennen kann nimmt der Code langsam an Masse an, doch fertig sind wir noch nicht!
Als nächstes wollen wir ja das der Sprite nicht die ganze Zeit der Bewegungs Sprite ist!

und deshalb packen wir wieder ganz unten hin:
Code:
if (keyboard_check_released(ord("D"))) //checken ob D losgelassen worden ist!
{
sprite_index = spr_player_idle; //Sprite auf den Bewegungslosen Sprite zurücksetzen!
image_xscale = 1;
}

if (keyboard_check_released(ord("A"))) //checken ob A losgelassen worden ist!
{
sprite_index = spr_player_idle; //Sprite auf den Bewegungslosen Sprite zurücksetzen!
image_xscale = -1;
}
So nun kann man wieder auf den grünen Play Button drücken und sehen was passiert =) ( man kann schon die Slopes dazu packen !!!)

So nun ist es auch schon fast geschafft!

das einzige was wir noch hinzufügen wollen ist sogar im Type des Games enthalten Jump and Run!

So dazu packen wir ganz unten in den Code wieder folgendes rein:
Code:
if (keyboard_check(ord("W"))) //gucken ob W gedrückt wird!
{
if place_meeting(x,y+1,obj_block) or place_meeting(x,y+1,obj_ramp_l)  or place_meeting(x,y+1,obj_ramp_r)  // Wenn man den boden berührt dann... ( or => oder => sollte es nicht so sein guckt man ob es vllt auf die Funktion NACH dem or geht ) 
 {
 y-=1;    //springt er :)
 vspeed -=8; // <-Geschwindigkeit!
 }
}
SO NUN SIND WIR FERTIG UND ES SOLLTE KLAPPEN! =)

Hier nocheinmal mein Fertiger Code:

Ich hoffe das es bei euch genauso gut klappt , wie bei mir und es euch gefallen hat!

Feedbacks sind immer gern gesehen ( aber bitte nicht beleidigen )

Die GMK hab ich nochmal als Dateianhang dazu gepackt.

Mfg
[X]Gold
Attached Files
File Type: zip JnR Example.zip (11.0 KB, 153 views)
irrenhaus is offline  
Thanks
10 Users
Old 08/02/2011, 14:35   #2
 
KingNiveau's Avatar
 
elite*gold: 29
Join Date: Apr 2011
Posts: 2,359
Received Thanks: 795
Werde ich gleich mal ausprobieren! €dit: OK doch nicht ich hab keine Grundkenntise mit gamemaker
KingNiveau is offline  
Old 08/04/2011, 15:32   #3
 
ZenZen.Kwaii's Avatar
 
elite*gold: 6
Join Date: May 2008
Posts: 455
Received Thanks: 154
Sehr gut, hab das so ähnlich mal für die psp angefangen hatte dann auchn schönen Block der springhen konnte und laufen xD
Für den Anfang ist das wircklich ein gutes Beispiel zum lernen bzw. darstellen
ZenZen.Kwaii is offline  
Thanks
1 User
Old 08/26/2011, 19:02   #4
 
elite*gold: 32
Join Date: Oct 2010
Posts: 250
Received Thanks: 75
Finde das Tutorial nicht schlecht wenn man schon mal was mit Gamemaker gemacht hat aber so ein Anfänger wie weiß überhaupt nichts.
Könnest du ein Anfänger Tut machen wo du schreibst was Gamemaker ist und BlaBla so in etwa ein kleines Review von Gamemaker
_Eckl is offline  
Old 08/20/2013, 16:16   #5
 
elite*gold: 0
Join Date: Aug 2013
Posts: 2
Received Thanks: 0
Wenn ich D oder A oder W drücke steht da:


___________________________________________
################################################## ##########################################
FATAL ERROR in
action number 1
of Step Event0
for object object0:

Push :: Execution Error - Variable Get -1.spr_player_idle(100000, -1)
at gml_Object_object0_Step_0 (line 22) - sprite_index = spr_player_idle; //Sprite auf den Bewegungslosen Sprite zurücksetzen!
################################################## ##########################################
immerletsplayer is offline  
Old 09/20/2013, 22:29   #6
 
#AchilezZ's Avatar
 
elite*gold: 240
Join Date: Jun 2013
Posts: 529
Received Thanks: 40
Super Tutorial!
#AchilezZ is offline  
Old 02/18/2014, 20:54   #7
 
elite*gold: 0
Join Date: Feb 2014
Posts: 1
Received Thanks: 0
___________________________________________
FATAL ERROR in
action number 1
of Collision Event with object obj_block_parent
for object obj_player_idle:

COMPILATION ERROR in code action.
Error in code at line 1:
ove_contact_solid(270,4)

at position 1: Unknown function or script: ove_contact_solid :: CreateFunctionToken Gilfe bitte
crash71000 is offline  
Reply


Similar Threads Similar Threads
Game Maker Tut#2 Jump and Run!
12/22/2012 - Tutorials - 38 Replies
In diesem Tutorial werde ich euch die leichteste Jump and Run Technik beibringen! Falls du mein altes Tutorial nicht gesehen hast wirst du hier wenig verstehen!!(Link) Ihr könnt am besten alles mit programmieren, denn ich mach es in Schritten! Schritt1: Ihr öffnet eine neue Game Maker Datei und erstellt ein Sprite. Dies wird gleich euer Player werden, deswegen nennt ihr es sPlayer. Ihr könnt ihn zeichnen wie ihr wollt! So müsste es dann aussehen:...
Game Maker 8.1 [Tutorial] Spiel erstellen
05/14/2011 - Tutorials - 8 Replies
Ja hallo erstmaaa hir zeige ich euch wie man ein Game erstellt mit dem programm Game Maker Was man braucht: Game Maker 8.1 ist ja klar Zuerst öffnet ihr Game Maker 8.1 links ist eine Spalte wo Sprite usw steht Ihr klick rechtsklick auf Sprite und Create Sprite Nun könnt ihr aussuchen ob ihr Load Sprite nimmt oder Edit Sprite Load Sprite heist es gibt verschiedene Figuren usw die man auswählen kann und Edit Sprite heist das man eine Figur selber erstellen kann
simples, aber GENIALES flash-game!
10/29/2006 - Off Topic - 14 Replies
auf linerider.org findet ihr das spiel bei dem es darum geht eine strecke zu mahlen, die man dann mit der rodel fährt ;) um zu sehn was alles möglich ist hier ein video von einer sehr geilen strecke! ;) viel spaß beim rodeln ;D



All times are GMT +1. The time now is 02:38.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.