News    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.


 
Themen-Optionen Ansicht
Alt 25.06.2008, 23:20   #1
-DaRealXecon-
*Dev Team* Member
 
 
Registriert seit: 03.01.2008
Alter: 15
Beiträge: 264
Erhielt 89 Danke für 23 Beiträge

-DaRealXecon- eine Nachricht über ICQ schicken
Ausrufezeichen [TuT - LUA] "Hello World" Einfache Textaußgabe

Also alle die sich schon mal an dieses TuT trauen bzw. in die PSP Programmierung gehen, Danke!




Hello World

In diesem TuT wird dir erklärt wie du dir schon mal ein eigenes Programm schreiben kannst!
Noch ist es nur eine einfache Textausgabe auf dem Bildschirm...


Forraussetzung für dieses TuT:
Ich weiß in etwa was Programmieren ist

TuT Hello World:


Ich werde dir nun erklären wie wir "unser" erstes Programm gestallten

Um beginnen zu können brauchen wir erst einen Ordner...
Den kannst du jetzt z.B. auf deinem Desktop erstellen, bzw. auch auf deinem Memory Stick (ms0:/PSP/GAME)
Nennen wir den Ordner doch einmal "LUA Hello World" (Kannst ihn auch anders nennen ist klar denk ich )

In diesen Ordner müssen wir jetzt den LUA Player geben... *Download LUA Player RC7*
Ohne LUA Player funktioniert nichts!

Was macht der LUA Player denn eigentlich soo tolles?
Der LUA Player ließt in deiner LUA Datei und übersetzt das ganze für die PSP in verständliche Befehle! Denn LUA ist eine Scriptsprache wie z.B. Perl, AutoIT oder Visual Basic...
Bestes beispiel dafür ist wohl ein GBC Emulator die PSP ist kein Gameboy... Doch durch den Emulator kann die PSP die Rom's wiedergeben...
Genau so ist es eigentlich auch bei LUA...
Eine für die PSP unverständliche LUA Datei wird mit Hilfe des LUA Players für die PSP übersetzt!



Nun erstelle ein Text Dokument... und bennene es um in "script.lua"
Wichtig ist dabei das deine Ordner Optionen richtig eingestellt sind
Sonst sieht das nachher vlt. so aus "script.lua.txt" <-- DAS WOLLEN WIR ABER NICHT!
Falls du das nicht hinbekommst wegen irgenwelchen einstellungen Hier eine script.lua

Ja... nun kopierst du die "script.lua" in den selben Ordner wo auch der LUA Player ist.
Hier gibt es versteckten Inhalt
Du musst Dich bedanken um zu sehen was versteckt ist


Jetzt öffne die "script.lua" mit einem Editor der nicht irgendwelche Formatierungsoptionen bietet...
(Also Open Office, Word, etc. fällt schonmal weg! Einfach mal [Unter Windows] Bearbeiten klicken... Sprich mit dem Text Editor... bzw. dem Easy LUA Editor von Slash, oder wie ich PSPad)
PSPad hat den Vorteil das er die Zeilenzahlen der Datei anzeigt... (Welche auch ein richtiger Coder brauchen wird! )

Vorteile des Easy LUA Editors:
Speicher direkt in .lua
Ist Portable und extrem klein!

Wenn du dich für PSPad entschieden hast klicke nach der Installation bitte gleich einmal auf "Ansicht -> Zeilennummerierung"
Denn wenn du später selbstständig Codest wirst du bestimmt einige fehler bekommen... und da sind Zeilennummern schon wichtig!
(Meine Spiele haben durchschnittlich 300 - 600 Zeilen... Aber jetzt nich abschrecken lassen! )


Nun schreieben wir unser Programm!

Als aller erstes müssen wir der "PSP" (dem LUA Player) sagen in welcher Farbe der Text sein soll...

Der Befehl um eine Farbe zu bestimmen geht wie folgt:
Code:
Color.new(255,255,255)
Wobei "255" für den Farbwehrt steht.
"255,255,255" Steht für Weiß! Warum? und wie mische ich das?
Die erste Zahl steht für die Rot anteile... Einstellbar ist dies von 0 bis 255.
Die zweite Zahl steht für Grün, und die Dritte für Blau...

Also im endeffekt RGB (Rot,Grün,Blau)
Wenn "255,255,255" jetzt weiß ist in Schwarz logischerweiße?
Richtig "0,0,0"
Blau wäre z.B. "0,0,255" usw...

Jetz brauchen wir noch etwas womit wir den Farbwehrt speichern!
Genau Variablen! Variablen sind eigentilch nichts anderes als definitionen die mit Zahlwehrten, Buchstaben, Bildern, Tönen, usw. gleichgesetzt werden...
(Kennt ihr aber sicher auch aus Mathe )

Also schreiben wir jetzt:
Code:
blau = Color.new(0,0,255)
statt "blau" kannst du jetzt schreiben was du willst...


Jetzt machen wir den Befehl um den Text aus zu geben...
der befehl dazu lautet:
Code:
screen:print(x,y,"txt",color)
Mit "x,y" ist die Position gemeint... hier gehört narürlich eine Zahl hinein...

Spoiler:
Spoiler:


Also wir schreiben jetz einfach mal "1,1" statt dem "x,y" Das heißt der Text wird ganz oben links Angezeigt.

Wir schreiben jetz einfach mal:
Code:
screen:print(1,1,"Haaallloo!! :D",blau)
Nochmal, zuerst bestimmen wir die Position mit x,y , dann kommen zwischen die "" der Text der Angezeigt werden soll (ACHTUNG: \, ä, ö, ü, etc. werden nicht unterstützt [KEINE SONDERZEICHEN!])
und zum schluss wird noch die Farbe definiert.


Um den Text jetzt anzeigen zu lassen brauchen wir:
Code:
screen.flip()
Die PSP hat sozusagen 2 Bildschirme... Unsere Ausgabe wird "innen"
um den Bildschirm jedoch umzufrehen brauchen wir "screen.flip()"
Dann wird der Text sichtbar!


Jetzt brauchen wir eine Schleife!
Eine schleife wiederholt einen Vorgang so lange bis eine Variable sie beendet bzw. endlos (Sogenannte "Endlosschleife")

Wir benötigen jedoch eine Endlosschleife.
Befehl für die Endlosschleife:
Code:
while true do
und wichtig! Sie wird mit:
Code:
end
beendet!

Sprich alles was zwischen "while true do" und "end" steht wird ständig wiederholt!
Das ist jetzt also unser "Mainloop". Jedes Programm braucht so ein Mainloop
da der LUA Player sonst einmal alles erledigen würde, und dann nichts mehr machen kann...
Ohne Mainloop zeigt der LUA Player folgenden Fehler an:
Code:
Error: (null)
Mit:
Code:
screen.waitVblankStart()
wird befohlen wie lange der LUA Player warten soll um die nächste ausgabe Anzuzeigen...
Normalerweiße schreibt man dann einen bestimmten Wehrt in die Klammer...
zum Beispiel:
Code:
screen.waitVblankStart(300)
Das wären dann 3 Sekunden....
Aber das brauchen wir jetzt nicht!

Wir wollen das er ganicht wartet!
daher lassen wie die Klammern leer...

Der Befehl "screen.waitVblankStart()" kommt nur in die Schleife!

Code:
while true do
screen.waitVblankStart()
end
So sollte es dann aussehn!

Was bewirkt das jetzt?
Dem LUA Player wird damit gesagt das er bis zum nächsten durchgang 0 Sekunden warten soll...
Und den Text somit ständig Anzeigt.


CODE ZUSAMMENFASSUNG:

Code:
blau = Color.new(0,0,255)
screen:print(1,1,"Haaallloo!! :D",blau)
screen.flip()
while true do
screen.waitVblankStart()
end
Jetzt nur noch speichern, und auf der PSP starten!
Fertig!


Bitte lesen und nich nur code klauen^^


Sollte wirklich für jeden klar sein!


Mfg PS-Evolution Dev-Team
__________________

In der Stille der Dunkelheit kannst Du die Trauer deines Herzens hören. Und manchmal kannst Du den Wahnsinn dieses Lebens fühlen.


Geändert von -DaRealXecon- (02.07.2008 um 21:10 Uhr).
-DaRealXecon- ist gerade online   Mit Zitat antworten
Folgende 18 Benutzer sagen Danke zu -DaRealXecon- für den nützlichen Beitrag:
Alt 01.07.2008, 00:19   #2
Digga_mies
PSP Schüler
 
 
Registriert seit: 12.12.2006
Beiträge: 19
Erhielt 12 Danke für 3 Beiträge

Daumen hoch

Erstmal vielen Dank für dieses astreine Tutorial...
Sprache kam mir ein bissl bekannt vor von Delphi, aber naja...
Habe nun aber folgendes dummes Problem, habe deine Richtlinien genauestens befolgt, aber bekomme immer wieder Error: (null) ???
Hab 4.01m33-2, meinst du das könnte was damit zu tun haben?
MfG Digga_Mies
Digga_mies ist offline   Mit Zitat antworten
Alt 02.07.2008, 21:09   #3
-DaRealXecon-
*Dev Team* Member
 
 
Registriert seit: 03.01.2008
Alter: 15
Beiträge: 264
Erhielt 89 Danke für 23 Beiträge

-DaRealXecon- eine Nachricht über ICQ schicken
Standard

Haben alle anderen auch dieses Problem? *hoffe doch nicht*

Es könnte daran liegen... das du 1. Was vergessen hast... (Mainloop bezogen...) oder 2. das deine LUA Datei nicht "script.lua" heißt... (z.B. könnte sie "script.lua.txt" heißen... ) Versuchs mal mit der LUA Datei die ich für euch rengestellt hab^^

Ich stell glaub ich mal ein Sample rein

Mfg xecon
__________________

In der Stille der Dunkelheit kannst Du die Trauer deines Herzens hören. Und manchmal kannst Du den Wahnsinn dieses Lebens fühlen.

-DaRealXecon- ist gerade online   Mit Zitat antworten
Alt 03.07.2008, 13:57   #4
Digga_mies
PSP Schüler
 
 
Registriert seit: 12.12.2006
Beiträge: 19
Erhielt 12 Danke für 3 Beiträge

Lächeln

Tja ich Held habe die Datei ganz schlaftrunken scirpt.lua genannt...
Naja aba dann hat alles funktioniert...
Vielen Dank nochmal, wäre schön wenn du noch so ein paar nette Tuts schreiben könntest...
Thx Digga Mies
Digga_mies ist offline   Mit Zitat antworten
Alt 03.07.2008, 15:42   #5
Secret Raven
DeV TeAm:*LuA|C|HtMl|CsS*
 
 
Registriert seit: 29.07.2007
Beiträge: 445
Erhielt 66 Danke für 31 Beiträge

Secret Raven eine Nachricht über ICQ schicken
Standard

Also kurz zur Info, das der Null - Error heißt einfach das der Luaplayer die script.lua nicht gefunden hat!
Hm ja wegen dem erstellen, ich erstell immer ein neues Textdokument, und geh dann auf speichern unter, und dann unten wo (.txt) steht auf den Pfeil klicken und auf Alle Datien gehen.. dann nur noch script.lua nennen und dann sollts gehen
__________________
Secret Raven ist offline   Mit Zitat antworten
Folgender Benutzer sagt Danke zu Secret Raven für den nützlichen Beitrag:
Alt 03.07.2008, 16:18   #6
Der_Pate
PSP Cracker
 
 
Registriert seit: 16.05.2008
Beiträge: 339
Erhielt 42 Danke für 38 Beiträge

Standard

jo hab ma auch ne frage was koomt in den script.lua rein und noch ne frage könnt ihr auch ma nen tut schreiben wo man eins machen kann was mit mehr levels und das man mit bildern arbeitet anschtat tabelen
__________________

Parte back @ 1.8.08
Spoiler:
Der_Pate ist gerade online   Mit Zitat antworten

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[C/C++/C#] Wie "heißen" die Tasten des "Mp3 Controllers" -DaRealXecon- Anwendungsprogrammierung 2 18.06.2008 12:01
"gopod" erkennt mein "ipod" nicht! HILFE :( Ozan74 Software Probleme 4 05.06.2008 14:56
Digitaler "Selbstmord" - Risiko: Filesharing "21 Gramm" Rapsta News rund um die Welt 15 07.01.2008 08:52
Verwarnung für apehero: Ausdrucksweise "anuslecker" "arsch" wiederholt eingehend mit spam saw Mülleimer 2 15.11.2007 13:09


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


Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
©2025 by PS-Evolution.In