Shop    Board    Downloads

Willkommen bei PS-Evolution: Board.
Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.


PSP Tutorials Alle möglichen Tutorials rund um die PSP.

 
Themen-Optionen
Alt 22.03.2008, 19:18   #1 (permalink)
PS-Profi
 
 
Registriert seit: 29.07.2007
Beiträge: 648

Secret Raven eine Nachricht über ICQ schicken
Deutsch [TuT] PsP Programmierung: Lua Jump & Run Spiel Teil 1

Hallo zusammen!
Ich habe mich nun endlich dazu durchgerungen ein weiteres Lua Tutorial zu schreiben, ich werde es allerdings anders aufbauen, wir werden nämlich Teil für Teil ein kleines Jump & Run Spiel für die PsP erstellen.
Allerdings fordert das hin und wieder Grundwissen das ich in meinem ersten Lua Tutorial noch nicht erklärt habe... deshalb sind hier mal ein paar Links zu einem anderen Tutorial, das die Teile erklärt die wir für diesen und wahrscheinlich die nächsten Teile benötigen:

Code:
Wichtig für diesen Teil:
1, Grundwissen TuT von mir http://psp.freakz.in/board/psp_tutorialz/23334-tut_psp_programmierung_lua.html#post127718
2, Tabellen TuT von Bumuckl
http://lua.bumuckl.com/index.php?tut=11
3, Tile Maps TuT von Bumuckl
http://lua.bumuckl.com/index.php?tut=21
Benötigt für die nächsten Teile:
1, Musik und Sound TuT von Bumuckl
http://lua.bumuckl.com/index.php?tut=9
2, Kollisions TuT von Bumuckl
http://lua.bumuckl.com/index.php?tut=22
(Gut zu wissen, obwohl wir die Kollisionen auf einem anderen Weg abfragen werden...)
Tipp: Man sollte auch mal einen Blick auf die anderen Tutorials von Bumuckl werfen, sie sind sehr empfehlenswert!! -> http://lua.bumuckl.com/
Jetzt zum Thema, ein Jump & Run spiel sollte jeder von euch kennen oder??
Wenn nicht^^, es handelt sich dabei meistum kleine Spielchen in denen man Gegenstände einsammeln muss. Umso mehr Gegenstände eingesammelt werden, umso größer wird die Punktzahl. Das schwierige an der Sache ist, das auf diesen Gegenständen Gegner patrolieren die einem Schaden zufügen... wenn man keine Leben mehr hat, ist das Spiel zuende. Natürlich gibt es noch viele andere kleine Veränderungen an diesem Spielprinzip aber wir werden eine Ableger von dem oben genannten programmieren.

Nun aber zum Jump & Run Spiel,
im ersten Teil werden wir vorerst nur die Map erstellen, aber das ist ja schließlich die Grundlage jedes Spiels. Da ich leider kein Graphiker bin wird die Map Graphisch ein totaler Reinfall sein, aber ich hoffe ihr vergebt mir in diesem Punkt xD.
Zuerst werden wir ein paar Farben deklarieren:

Code:
--Farben definieren
blau = Color.new(0 , 0 , 255)
gruen = Color.new(0 , 255 , 0)
grau = Color.new(105 , 105 , 105)
--Ende
Diese benötigen wir um nun die einzelnen Tiles die wir erstellen ,einzufärben:

Code:
--Tiles erstellen
himmel = Image.createEmpty(32 , 32)
himmel:clear(blau)
boden = Image.createEmpty(32 , 32)
boden:clear(gruen)
stahlteil = Image.createEmpty(32 , 32)
stahlteil:clear(grau) --wird im nächsten Tutorial durch ein Bild ersetzt!!!
--Ende
Um die Tiles zu erstellen benutzen wir den Image.createEmpty Befehl, die Syntax ist total einfach:
Image.createEmpty( Höhe , Breite )

Code:
--Variablen definieren
Breite = 32
Hoehe = 32
--Ende
Tiles = { himmel, boden, stahlteil }
Hier werden erst zwei Variablen definiert, die man später für die Tile Engine benötigt.
Als zweites erstellen wir eine Tabelle um dann mit der Tile Engine darauf zugreifen zu können.
In der Map die wir als nächstes erstellen steht dann:

himmel für 1
boden für 2 und
stahlteil für 3

Nun wird es interessant, hier wird die Map an sich... ja.. vllt. kann mans deklariert nennen. Das ganze machen wir über eine Tabelle namens Karte:

Code:
--Karten Tabelle erstellen
Karte = { }
Karte[1] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 }
Karte[2] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 }
Karte[3] = { 3,3,3,3,1,1,1,1,1,1,1,3,3,3,3 }
Karte[4] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 }
Karte[5] = { 1,1,1,1,1,3,3,3,3,3,1,1,1,1,1 }
Karte[6] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 }
Karte[7] = { 3,3,3,3,1,1,1,1,1,1,1,3,3,3,3 }
Karte[8] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 }
Karte[9] = { 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 }
--Ende
Ich denke dazu muss ich nicht soviel sagen... es wird erst die Variable Karte als Tabelle deklariert und dann 9 Zeilen und 15 Spalten eingefügt...

Code:
--------mainloop---------
while true do 
screen:clear(blau)
Ja, hier beginnt die Hauptschleife xD

Code:
xPos = -32
yPos = -32
for x = 1,9 do
yPos = yPos + Hoehe
xPos = -32
for y = 1,15 do
xPos = xPos + Breite
screen:blit(xPos,yPos, Tiles[Karte[x][y]])
end
end
Und hier wird endlich die Map selber erstellt. Wenn man alles im Kopf mal durchgeht wird es einem klar. die x und y position sind auf -32 gesetzt weil die Tiles selber 32 pixel groß sind. ja und dann wird für jede einzelne Zeile (for x = 1,9 -> 9 Zeile) die einzelnen Inhalte der 15 Spalten erstellt (for y = 1,15 -> 15 Spalten.
Das wars auch fast, jetzt muss noch die Mainloop beendet werden:

Code:
screen.flip()
screen.waitVblankStart(300)
end
--Ende
Gut, hier habe ich nochmal den ganzen Code für euch und den Download der Map uppe ich gleich:

Spoiler:


So ich hoffe es hat euch Spaß gemacht und ich konnte euch ein bisschen was beibringen und ich überleg mir schonmal wies weitergeht

Und wenn es euch gefallen hat wäre natürlich ein Danke sehr schön

MfG
Secret

Secret Raven ist offline   Mit Zitat antworten
Folgende 2 Benutzer sagen Danke zu Secret Raven für den nützlichen Beitrag:
Alt 22.03.2008, 20:07   #2 (permalink)
PS-Profi
 
 
Registriert seit: 25.05.2007
Alter: 17
Beiträge: 668

Postal dude eine Nachricht über ICQ schicken
Standard

nneeeeee also das dauert mir zu lang das ich nur so ein kleines schrottspielchen rausbringe aber trotzdem danke

Postal dude ist offline   Mit Zitat antworten
Alt 22.03.2008, 20:16   #3 (permalink)
banned
 
Registriert seit: 16.10.2007
Beiträge: 901

Standard

dat dauert doch net lange
hackerking ist offline   Mit Zitat antworten
Alt 22.03.2008, 20:16   #4 (permalink)
PS-Profi
 
 
Registriert seit: 29.07.2007
Beiträge: 648

Secret Raven eine Nachricht über ICQ schicken
Standard

xD lol das soll nur ein TuT sein, ich will euch ja nich alle Arbeit abnehmen und du wirst so nie ein Spiel oda sonst iwas rausbringen lol

Secret Raven ist offline   Mit Zitat antworten

Lesezeichen

Themen-Optionen



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:57 Uhr.


Powered by: vBulletin, Copyright © 2000 - 2011, Jelsoft Enterprises Ltd.