[LUA TUT]Multi Hallo Welt - Druckversion +- KINGx - Das inoffizielle PlayStation Forum & News Portal (http://www.kingx.de/forum) +-- Forum: PS Vita / PSP (/forumdisplay.php?fid=1) +--- Forum: Homebrew (/forumdisplay.php?fid=8) +---- Forum: Development (/forumdisplay.php?fid=34) +----- Forum: Dev-Tutorials (/forumdisplay.php?fid=59) +----- Thema: [LUA TUT]Multi Hallo Welt (/showthread.php?tid=26142) |
[LUA TUT]Multi Hallo Welt - WinterFrost - 05.11.2010 14:02 In diesem Tutorial zeige ich euch, wie ihr ein "Multi Hallo Welt" Programm in LUA erstellt. Es wäre nicht schlecht, wenn ihr bereits ein "normales" Hallo Welt Programm erstellt habt, es ist aber nicht nötig. Um den Code richtig zu verstehen, müsst ihr euch dieses Tutorial allerdings aufmerksam durch lesen. Was wir benötigen:
Aber schreiten wir endlich zur Tat. Zuerst erstellen wir eine script.lua Datei. Öffnet diese jetzt mit einem Text Editor und gebt ganz oben schon mal die Farben ein. Code: --Legende
Ich denke das sollte klar sein, für die jenigen von euch die nicht wissen was es damit aus sich hat, erkläre ich es nochmal. Code: Color.new(Zahl,Zahl,Zahl)
definiert eine Farbe, es müssen alle Farben in Zahlenwerten angeben werden. Code: while true do Mit Code: while true do
setzen wir alles in eine Schleife, sodass der Text, der angezeigt werden soll, durchgehend angezeigt wird und in userem Falle die Tasten durchgehend abgefragt werden. Code: screen:print
gibt an wo und in welcher Farbe ein beliebiger Text angezeigt werden soll. Code: pad =Controls.read()
Dieser Befehl ermöglicht es, dass man die Tasten in LUA überhaupt erst verwenden kann. Code: if pad:cross() then
Ich "übersetze" das jetzt mal auf Deutsch, dann ist es verständlicher. Code: screen:print
kennen wir bereits. Code: System.Quit
ist ein Befehl, der das Programm beendet und in die XMB zurückkehrt. Code: end
beendet die beiden if Befehle. Code: screen.flip()
Code: screen.flip()
bringt nun alles auf den Bildshirm, ohne diesen Befehl, würde das ganze Script nicht funktionieren. Code: screen.waitVblankStart()
würde angeben wie lange der Text angezeigt werden soll, man würde die LUA Sekundenzählzeit einfach in die Klammer schreiben, da wir das ganze aber vorher in eine while Schleife gesetzt haben, bleibt die Klammer einfach leer. Code: end
schließt das ganze Script , ab hier ist Schluss. Code: white = Color.new(255,255,255)
RE: [LUA TUT]Multi Hallo Welt - The Z - 05.11.2010 14:35 Cool, kann man sie mittels exploit auch auf ner ofw angezeigt bekommen?! RE: [LUA TUT]Multi Hallo Welt - WinterFrost - 05.11.2010 14:44 Eventuell über den HBL, ich habe es aber nicht versucht. MfG RE: [LUA TUT]Multi Hallo Welt - Namenloser - 05.11.2010 15:12 if pad:cross() then screen:print(167,1,"Multi Hallo Welt by WinterFrost", green) else if pad:circle() then System.Quit() end end Ich finde das else unnötig :P Denn es ist ja klar falls nicht X Gedrückt wird das er eine andere taste einließt. Könnte man auch einfach schließen: if pad:cross() then screen:print(167,1,"Multi Hallo Welt by WinterFrost", green) end if pad:circle() then System.Quit() end Kürzer wird der Code deswegen auch nicht aber ok :D PS, gehört das : screen:print(150,120,"Druecke X um einen Text einzublenden.", red) screen:print(150,130,"Druecke O um zu beenden", red) nicht auch in die While ( vor dem pad ) ? Sonst wird der Text ja nur für eine Millionstel Sekunde angezeigt RE: [LUA TUT]Multi Hallo Welt - WinterFrost - 05.11.2010 15:13 Namenloser : PS, gehört das :
screenrint(150,120,"Druecke X um einen Text einzublenden.", red) screenrint(150,130,"Druecke O um zu beenden", red) nicht auch in die While ? Sonst wird der Text ja nur für eine Millionstel Sekunde angezeigt
RE: [LUA TUT]Multi Hallo Welt - m33 - 05.11.2010 15:18 Ne per Exploit auf dem HBL kann mans nicht abspielen Der HBL hat keinen Lua HM Support, nur PGE Lua RE: [LUA TUT]Multi Hallo Welt - Namenloser - 05.11.2010 15:25 Ich meine so: Zitat: white = Color.new(255,255,255)
black = Color.new(0,0,0) red = Color.new(255, 0, 0) green = Color.new(0, 255, 0) blue = Color.new(0,0,255) orange = Color.new(235,115,0) yellow = Color.new(255,255,0) gray = Color.new(160,160,160) while true do pad =Controls.read() screenrint(150,120,"Druecke X um einen Text einzublenden.", red) screenrint(150,130,"Druecke O um zu beenden", red) if pad:cross() then screenrint(167,1,"Multi Hallo Welt by WinterFrost", green) else if pad:circle() then System.Quit() end end screen.flip() screen.waitVblankStart() end
RE: [LUA TUT]Multi Hallo Welt - WinterFrost - 05.11.2010 15:31 Tut mir Leid aber ich verstehe immernoch nicht richtig was du meinst. Der Text muss in einer while schleife stehen, denn er wird dauerhaft angezeigt. MfG RE: [LUA TUT]Multi Hallo Welt - Camaro8000 - 05.11.2010 15:36 Ich glaube das meint Namenloser: So hast du es... Code: [...]
Code: [...]
RE: [LUA TUT]Multi Hallo Welt - WinterFrost - 05.11.2010 15:40 Ich meine das ist egal, solange ich das screen.flip() in einer Schleife habe. MfG EDIT: Zumindest habe ich es jetzt verstanden xD EDIT2: es geht beides, so wie Namenloser es meint läuft es aber stabiler, also werde ich es ändern. Danke. EDIT3: Fertig. MfG RE: [LUA TUT]Multi Hallo Welt - Dark_Monkey - 05.11.2010 16:46 Code: //Farben definieren
RE: [LUA TUT]Multi Hallo Welt - m33 - 05.11.2010 16:49 Dark_Monkey : Code: //Farben definieren
RE: [LUA TUT]Multi Hallo Welt - WinterFrost - 05.11.2010 16:51 Aha... und warum postest du das, wenn ich fragen darf? MfG RE: [LUA TUT]Multi Hallo Welt - Dark_Monkey - 05.11.2010 16:53 Fände ich ein alternatives beispiel und ist für einsteiger auch geeignet Will damit aber auch keine kretik an deinem Hello World ausüben RE: [LUA TUT]Multi Hallo Welt - WinterFrost - 05.11.2010 16:56 Achsoo... ich hatte mich schon gewundert, warum du das in meinen Thread postest und nicht einen eigenen aufmachst. MfG RE: [LUA TUT]Multi Hallo Welt - Dark_Monkey - 05.11.2010 16:58 ich mach doch kein eigenes threat auf wenn du schon eins aufmachst xD Hab gedacht du könntest 2 arten reinpacken eins TotalNoob freundlich und das ander Noob freundlich RE: [LUA TUT]Multi Hallo Welt - m33 - 05.11.2010 16:59 Bezeichnest du jetzt Total_Noob als Total_Noob? RE: [LUA TUT]Multi Hallo Welt - Dark_Monkey - 05.11.2010 17:01 m33 : Bezeichnest du jetzt Total_Noob als Total_Noob?
RE: [LUA TUT]Multi Hallo Welt - m33 - 05.11.2010 17:03 War ja auch nur ein Witz Aber ich glaube, dass das TUT schon gut so ist, wie es ist. Das hilft den Einsteigern beim reinkommen RE: [LUA TUT]Multi Hallo Welt - WinterFrost - 05.11.2010 19:14 m33 : Aber ich glaube, dass das TUT schon gut so ist, wie es ist.
Das hilft den Einsteigern beim reinkommen
Ich habe ja auch alles sorgfältig erklärt. RE: [LUA TUT]Multi Hallo Welt - Namenloser - 05.11.2010 20:04 Also das TuT ist sicher mal Anfänger gerecht Nur können womöglich ein paar User abgeschrecked werden weil du so viele Farben definierst die du nciht verwendest. Im Code benötigst du nur red und green. Da könnte man die andere Farben löschen, so wird der Code auch erstmal kleiner Also anstatt das: white = Color.new(255,255,255) black = Color.new(0,0,0) red = Color.new(255, 0, 0) green = Color.new(0, 255, 0) blue = Color.new(0,0,255) orange = Color.new(235,115,0) yellow = Color.new(255,255,0) gray = Color.new(160,160,160) das: red = Color.new(255, 0, 0) green = Color.new(0, 255, 0) Denn mehr Farben zu laden als benötigt könnte Anfänger sicher leicht aus der fassung bringen Du kannst ja extra dazuschreiben welche Farben es gibt ( also wie man sie bildet von den Zahlen her ). So kann jeder Afänger noch gleich dazu manuell die Farben ändern lg RE: [LUA TUT]Multi Hallo Welt - WinterFrost - 05.11.2010 20:10 Ich wollte den Änfangern die Möglichkeit geben, die Farben selbst zu bestimmen. MfG RE: [LUA TUT]Multi Hallo Welt - -blue7 - 05.11.2010 20:15 @Winterfrost Schönes Tutorial, vor allem anfängerfreundlich & sehr gut erklärt. Wäre schön, wenn du mehrere solcher Tutorials schreiben könntest, eventuell wäre eine neue Kategorie im Development-Bereich nicht schlecht. PS: Deine Art erinnert mich an meine Anfänge hier ;D Mach' weiter so, fällst positiv auf ;-) RE: [LUA TUT]Multi Hallo Welt - Unbekannt - 27.11.2010 22:42 Gutes Tutorial. Ist es nicht egal wo die Var. "pad" steht, hägt ja nicht vom Algolrithmus ab . |