|
Verfasser |
Nachricht |
D!S
Legende
Beiträge: 1.537
Gruppe: User
Registriert seit: Sep 2009
Status:
Abwesend
Danke erhalten: 470
|
Lua HM Menü Tutorial!
Hallo!
Heute ist es unser Ziel ein Menü in Lua HM zucoden.
Ihr braucht erstmal einen Editor wie PSPad und einen Lua Player.Am besten ihr nehmt den Lua HM 7 EBOOT
So dann fangen wir mal an:
Als erstes Laden wir ein Bild das den Hintergrund bilden soll,das geht so:
Bildname = Image.load("Bild.png/jpg")
Da wir das geschafft haben bestimmen wir noch die Farben die wir bei der Schrift verwenden wollen:
white = Color.new(255,255,255) - Weiß
black = Color.new(0,0,0) - Schwarz
red = Color.new(255, 0, 0) - Rot
green = Color.new(0, 255, 0) -Grün
blue = Color.new(0,0,255) -Blau
light_blue = Color.new(0,180,255) - Hell Blau
orange = Color.new(235,115,0) - Orange
yellow = Color.new(255,255,0) - Gelb
gray = Color.new(160,160,160) -Grau
So jetzt lassen wir das Bild erscheinen und sagen der PSP bei welcher Textreihe sie anfängt:
current = 1 – Da wo die PSP ist :D
while true do – Was die PSP machen soll
pad =Controls.read() – Initialisierung der Tasten
screen:clear() – Bildschirm
screen:blit(0,0,Bildname) – Koordinaten des Bildes (0,0 = immer ganze Bildschirm) Bild anzeigen
Nun sagen wir der PSP was sie tun soll wenn Current geändert wird:
if current == 1 then --Wenn Current auf 1 ist dann:
screen:clear()
screen:blit(0,0,Bildname) -Zeigt das Bild an
screen:print(10,30,"Menü TuT bei D!S",green) Schreibt den Text Koordinaten 10,30
screen:print(10,40,":)",black) – Schreibt den Text (darauf achten das man eine Reihe runter geht und das man eine andere Farbe wählt als die erste,damit man unterscheiden kann wo die PSP ist!
screen:print(10,50,"Beenden",black) -- Wieder das gleiche! Die Farbe ist natürlich auch gleich mit der 2ten,weil die PSP ja erst beim Ersten ist!
end --Beendet den Code
Wenn Current 2 ist dann:
if current == 2 then --Wenn Current auf 2 ist dann:
screen:clear()
screen:blit(0,0,Bildname) -Zeigt das Bild an
screen:print(10,30,"Menü TuT bei D!S",black)
screen:print(10,40,":)",green)
screen:print(10,50,"Beenden",black)
end
Da die PSP jetzt bei 2 ist muss natürlich der 2 Text jetzt in Grün dargestellt werden und der erste Text in Schwarz! Der 3te bleibt nach wievor schwarz!
if current == 3 then
screen:clear()
screen:blit(0,0,Bildname) -Zeigt das Bild an
screen:print(10,30,"Menü TuT bei D!S",black)
screen:print(10,40,":)",black)
screen:print(10,50,"Beenden",green)
Da nun die PSP bei 3 ist muss auch der Dritte Text grün sein!
Die beiden anderen bleiben Schwarz!
So nun müssen noch bestimmen was die PSP machen soll wenn Oben oder unten gedrückt wird und das es dann wieder nach oben bzw unten springt!
Das geht so:
if pad:up() and oldpad:up() ~= pad:up() then
current = current - 1 Zeigt an was die PSP macht wenn Oben gedrückt wird, sie wechselt Current,so wie wir es wollen.
end
if pad:down() and oldpad:down() ~= pad:down() then
current = current + 1 --Zeigt an was die PSP macht wenn Unten gedrückt wird, sie wechselt Current,so wie wir es wollen.
end -- Beendet Code
if current == 4 then --Wenn Current 4 ist springt es wieder auf 1 und andersrum!
current = 1
end
if current == 0 then
current = 3
end
Jetzt sagen wir der PSP noch was sie zu tun hat wenn z.B Current 3 ist und Kreuz ( gehen natürlich auch andere) gedrückt wird:
if pad:cross() and current == 1 then --Wenn Current 1 ist und Kreuz gedrückt wird dann:
Wird bei uns nicht benötigt!
end
if pad:cross() and current == 2 then
Wird bei uns nicht benötigt!
end
if pad:cross() and current == 3 then
System.Quit() --Beendet das Programm
end
So der letzte Teil unseres Codes!
screen.waitVblankStart()
screen.flip()
oldpad = pad
end
Fassen wir nocheinmal zusammen:
--Mainmenu--
Bildname = Image.load("BILD.jpg")
--Colors
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)
light_blue = Color.new(0,180,255)
orange = Color.new(235,115,0)
yellow = Color.new(255,255,0)
gray = Color.new(160,160,160)
--Background
current = 1
while true do
pad =Controls.read()
screen:clear()
screen:blit(0,0,Bildname)
if current == 1 then
screen:clear()
screen:blit(0,0,Bildname)
screen:print(10,30,"Lua Menue TuT by D!S",green)
screen:print(10,40,":)",black)
screen:print(10,50,"Beenden",black)
end
if current == 2 then
screen:clear()
screen:blit(0,0,Bildname)
screen:print(10,30,"Lua Menue TuT by D!S",black)
screen:print(10,40,":)",green)
screen:print(10,50,"Beenden",black)
end
if current == 3 then
screen:clear()
screen:blit(0,0,Bildname)
screen:print(10,30,"Lua Menue TuT by D!S",black)
screen:print(10,40,":)",black)
screen:print(10,50,"Beenden",green)
end
if pad:up() and oldpad:up() ~= pad:up() then
current = current - 1
end
if pad:down() and oldpad:down() ~= pad:down() then
current = current + 1
end
if current == 4 then
current = 1
end
if current == 0 then
current = 3
end
if pad:cross() and current == 3 then
System.Quit()
end
screen.waitVblankStart()
screen.flip() --Bufferwechsel
oldpad = pad
end
Nun müsst ihr nur noch euren Code als Script.lua in einen neuen Ordner in ms0:/PSP/GAME speichern zusammen mit der EBOOT.pbp des Luaplayer und eurem Hintergrundbild ! Und bitte nicht nur kopieren sondern auch lesen!!!
By D!S
PS: Keine Erlaubnis zum kopieren!!!
Mein UMD Ripper TuT
Dieser Beitrag wurde zuletzt bearbeitet: 21.03.2010 11:42 von D!S.
|
|
16.03.2010 16:31 |
|
Folgende User bedanken sich: |
|
Neutrosider
Developer
Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2325
|
RE: Lua HM Menü Tutorial!
das ist recht "unschön" geschrieben. mann nuss dabei für jeden menüpunkt der dazu kommt, alle menüpunkte erneut schreiben. bei drei menüpunkten geht das ja noch, aber wenn man so an die 20 kommt wird das sehr groß. ich werde nachher das selbe menü in einer (bei mehr punkten) seh viel platzsparenderen version posten. nämlich mit tabellen (oder arrays wenn man so will). übrigens das tabellen system wird auch bei ax genutzt, weil das erweitern von den menüs (z.b. dem download menü) dadurch sehr viel einfacher ist, schneller geht und platz spart.
|
|
16.03.2010 18:44 |
|
Folgende User bedanken sich: |
|
D!S
Legende
Beiträge: 1.537
Gruppe: User
Registriert seit: Sep 2009
Status:
Abwesend
Danke erhalten: 470
|
RE: Lua HM Menü Tutorial!
das ist recht "unschön" geschrieben. mann nuss dabei für jeden menüpunkt der dazu kommt, alle menüpunkte erneut schreiben. bei drei menüpunkten geht das ja noch, aber wenn man so an die 20 kommt wird das sehr groß. ich werde nachher das selbe menü in einer (bei mehr punkten) seh viel platzsparenderen version posten. nämlich mit tabellen (oder arrays wenn man so will). übrigens das tabellen system wird auch bei ax genutzt, weil das erweitern von den menüs (z.b. dem download menü) dadurch sehr viel einfacher ist, schneller geht und platz spart.
Ist ja auch nur ein Anfänger Tutorial,für die die grade mir Lua anfangen...
|
|
16.03.2010 18:50 |
|
Folgende User bedanken sich: |
|
Neutrosider
Developer
Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2325
|
RE: Lua HM Menü Tutorial!
ja nur bei dem menü das ich gleich (oder nach dem essen in etwa ner stunde) poste muss man pro menü punkt genau 3 zeilen hinzufügen.. nichts weiter. mann muss nicht festlegen wie viele punkte das menü hat, mann muss nur den namen des menüpunkts und wass damit passiert einmal vor der while schleife angeben und fertig. ich werde ein anderes hintergrundbild nehmen, den code posten, nen downloadlink posten und, da der code komplett ander ist, es erlauben das menü 1:1 zu kopieren
|
|
16.03.2010 18:58 |
|
Folgende User bedanken sich: |
|
Neutrosider
Developer
Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2325
|
RE: Lua HM Menü Tutorial!
also, hier ist der code:
--Bilder und farben laden
Bildname = Image.load("background.jpg")
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)
light_blue = Color.new(0,180,255)
orange = Color.new(235,115,0)
yellow = Color.new(255,255,0)
gray = Color.new(160,160,160)
--hier werden die menüpunkte "kreiert"
--hier das was man auf dem Bildschirm sieht
punkte={}
punkte[1]="Lua menue TuT"
punkte[2]=":)"
punkte[3]="beenden"
--und hier was beim x drücken passiert
f={}
f[1]=function ()
end
f[2]=function ()
end
f[3]=function ()
System.Quit()
end
--hier noch ein paar letzte sachen die das programm braucht
current = 1
farbe={}
ypos=15
oldpad=Controls.read()
while true do
pad =Controls.read()
screen:clear()
screen:blit(0,0,Bildname)
if pad:up() and oldpad:up() ~= pad:up() then
current = current - 1
end
if pad:down() and oldpad:down() ~= pad:down() then
current = current + 1
end
if current > table.getn(punkte) then
current = 1
else if current<1 then
current=table.getn(punkte)
end
--Hier werden die schriftfarben jeder einzelnen zeile definiert
counterfarbe=0
while counterfarbe<current do
counterfarbe=counterfarbe+1
farbe[counterfarbe]=black
end
counterfarbe=current
while counterfarbe<table.getn(punkte) do
counterfarbe=counterfarbe+1
farbe[counterfarbe]=black
end
farbe[current]=green
--und hier wird das ganze auf den bildschirm gebracht
counter=0
yposa=ypos
ypos=ypos+4
while counter<table.getn(punkte) do
counter=counter+1
screen:print(10,ypos,punkte[counter],farbe[counter])
ypos=ypos+15
end
if pad:cross() then
f[current]()
end
end
ypos=yposa
screen.flip()
screen.waitVblankStart()
oldpad=pad
end
dieser bereich hier ist praktisch die ganze liste:
--hier das was man auf dem Bildschirm sieht
punkte={}
punkte[1]="Lua menue TuT"
punkte[2]=":)"
punkte[3]="beenden"
--und hier was beim x drücken passiert
f={}
f[1]=function ()
end
f[2]=function ()
end
f[3]=function ()
System.Quit()
end
wenn ich jetzt z.b. einen vierten menüpunkt hinzufügen wollte, der z.b. eine nachricht ausgibt, würde ich daraus folgendes machen:
--hier das was man auf dem Bildschirm sieht
punkte={}
punkte[1]="Lua menue TuT"
punkte[2]=":)"
punkte[3]="beenden"
punkte[4]="kleine nachricht"
--und hier was beim x drücken passiert
f={}
f[1]=function ()
end
f[2]=function ()
end
f[3]=function ()
System.Quit()
end
f[4]=function ()
System.message("eine kleine testnachricht",0)
end
Das ist alles. den rest erledigt das programm. Ich will damit jedoch nicht sagen, dass das TUT von D!S schlecht ist. im gegenteil, für anfänger ist es recht gut um lua etwas besser kennen zu lernen.
Allerding werde ich im gegensatz zu D!S meinen code zu 100% zum kopieren freigeben. ihr braucht auch nicht zu erwähnen woher er kommt (wenn ihr in benutzt) könnt dies aber natürlich gerne tun. wer will kann auch diesen code hier nehmen:
--Bilder und farben laden
Bildname = Image.load("background.jpg")
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)
light_blue = Color.new(0,180,255)
orange = Color.new(235,115,0)
yellow = Color.new(255,255,0)
gray = Color.new(160,160,160)
--hier werden die menüpunkte "kreiert"
--hier das was man auf dem Bildschirm sieht
punkte={}
punkte[1]="Lua menue TuT"
punkte[2]=":)"
punkte[3]="beenden"
--und hier was beim x drücken passiert
f={}
f[1]=function ()
end
f[2]=function ()
end
f[3]=function ()
System.Quit()
end
--hier noch ein paar letzte sachen die das programm braucht
current = 1
farbe={}
ypos=15
oldpad=Controls.read()
while true do
pause=0
pad =Controls.read()
screen:clear()
screen:blit(0,0,Bildname)
if pad:up() then
if current>1 then
current=current-1
pause=6
end
if ypos<30-(current*15) then
ypos=30-15*current
end
end
if pad:analogY()<-30 then
if current>1 then
current=current-1
pause=pad:analogX()/128
end
if ypos<30-(current*15) then
ypos=30-15*current
end
end
if pad:down() then
if current<table.getn(punkte) then
current=current+1
pause=6
end
if ypos>240-(current*15) then
ypos=0-(15*(current-17))
end
end
if pad:analogY()>30 then
if current<table.getn(punkte) then
current=current+1
pause=(pad:analogY()/127)*(-1)
end
if ypos>240-(current*15) then
ypos=0-(15*(current-17))
end
end
if current > table.getn(punkte) then
current = 1
else if current<1 then
current=table.getn(punkte)
end
--Hier werden die schriftfarben jeder einzelnen zeile definiert
counterfarbe=0
while counterfarbe<current do
counterfarbe=counterfarbe+1
farbe[counterfarbe]=black
end
counterfarbe=current
while counterfarbe<table.getn(punkte) do
counterfarbe=counterfarbe+1
farbe[counterfarbe]=black
end
farbe[current]=green
--und hier wird das ganze auf den bildschirm gebracht
counter=0
yposa=ypos
ypos=ypos+4
while counter<table.getn(punkte) do
counter=counter+1
screen:print(10,ypos,punkte[counter],farbe[counter])
ypos=ypos+15
end
if pad:cross() then
f[current]()
end
end
ypos=yposa
screen.flip()
screen.waitVblankStart(pause)
oldpad=pad
end
dadurch geht man beim drücken von oben/unten nicht nur einen punkt höher/tiefer, sonder scrollt solange, bis man nicht mehr drückt. mit dem D-pad scrollt man langsam, mit dem analog stick sehr schnell. und am ende der liste wird die auswahl nicht wieder auf den anfang gesetzt und umgekehrt, da das die auswahl finde ich bequemer macht.
hier sind die downloads der "ganzen homebrews", also ein Hintergrundbild, die script.lua und der lua player hm7:
Variante 1: Download
Variante 2: Download
|
|
16.03.2010 20:15 |
|
Folgende User bedanken sich: |
|
XiaDao
Android Vogel
Beiträge: 2.798
Gruppe: User
Registriert seit: May 2009
Status:
Abwesend
Danke erhalten: 1287
|
RE: Lua HM Menü Tutorial!
Sry das Thema ist zwar alt, aber
if pad:up() and oldpad:up() ~= pad:up() then
Wo ist denn oldpad angegeben es wird nur pad angegeben...
Was bedeutet die Welle, die nutz ich nämlich nie...
Letzens wollte ich noch sagen, dass es nicht bringt das man den Code nicht kopieren darf, es gibt kaum eine andere Möglichkeit so etwas darzustellen...
..
Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2011 18:35 von XiaDao.
|
|
12.02.2011 18:34 |
|
Folgende User bedanken sich: |
|
Neutrosider
Developer
Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010
Status:
Offline
Danke erhalten: 2325
|
RE: Lua HM Menü Tutorial!
^^ meinen code kannste ruhig kopieren, ist ja nix zu kompliziertes
in fachsprache würde ich sagen ~= == != sprich ~= bedeutet in lua ungleich
ich weiss nicht wo in seinem code oldpad definiert wird. vlt ist es ja im downloadbaren code enthaltn. bei mir wird oldpad vor der while schleife definiert und be vor pad aktualisiert wird ( in der while schleife) mit pad gleichgesetzt.
GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)
|
|
12.02.2011 18:50 |
|
Folgende User bedanken sich: |
|
pspbricker
Mod a.D.
Beiträge: 3.428
Gruppe: User
Registriert seit: May 2008
Status:
Offline
Danke erhalten: 1641
|
RE: Lua HM Menü Tutorial!
Sry das Thema ist zwar alt, aber
if pad:up() and oldpad:up() ~= pad:up() then
Wo ist denn oldpad angegeben es wird nur pad angegeben...
Was bedeutet die Welle, die nutz ich nämlich nie...
Letzens wollte ich noch sagen, dass es nicht bringt das man den Code nicht kopieren darf, es gibt kaum eine andere Möglichkeit so etwas darzustellen...
Generell dient dieser Code dazu, um herauszufinden ob die Taste gedrückt oder gehalten wird. Dazu bedient man sich an einem simpeln Trick in dem man schaut ob die Taste den Frame davor schon gedrückt worden ist, dann kann man davon ausgehen, dass sie gehalten wird wenn nicht wurde sie gerade erst gedrückt.
Die Tasten vom vorherigen Frame symbolisiert "oldpad" und die momentanen "pad". Der Vergleich mit ~= ist genau das Gegenteil von einem normalen Vergleich mit ==. Kleines Beispiel:
val1 = 1
val2 = 2
if (val1 == val2)
-- wird nicht ausgeführt, da beide Werte nicht äquivalent sind.
if (val1 ~= val2)
-- wird ausgeführt, da beide werte eben nicht gleich sind
Meine PS3 Games : Warhawk , NFS: Pro Street, Motorstorm ,Midnight Club LA, LittleBigPlanet, GTA4, Uncharted 2, Overlord, Killzone2, PES10, Battlefield ´43, Socom: Confrontation,
Forum Regeln Beachten! KEIN ISO Talk! KEINE Beleidigungen! KEINE illegalen Links!
Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2011 18:56 von pspbricker.
|
|
12.02.2011 18:54 |
|
Folgende User bedanken sich: |
|
XiaDao
Android Vogel
Beiträge: 2.798
Gruppe: User
Registriert seit: May 2009
Status:
Abwesend
Danke erhalten: 1287
|
RE: Lua HM Menü Tutorial!
Ok verstehe wie das gemeint ist, damit wenn man die Taste drückt das ding immer weiter nach unten saust bis man loslässt.
Gibts VLF Lib für LUA? Oder nur PGE LUA?
..
Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2011 19:45 von XiaDao.
|
|
12.02.2011 19:44 |
|
Folgende User bedanken sich: |
|
DarXPloit_$a1
Halbprofi
Beiträge: 206
Gruppe: User
Registriert seit: Oct 2010
Status:
Offline
Danke erhalten: 218
|
RE: Lua HM Menü Tutorial!
Hallo ,
Tutorials bitte in unser "Dev-Tutorials" Forum posten. Wenn eins haben , können wir es auch benützen
|
|
12.02.2011 20:03 |
|
Folgende User bedanken sich: |
|
WinterFrost
Moderator a.D.
Beiträge: 2.667
Gruppe: Mod a.D.
Registriert seit: Aug 2010
Status:
Offline
Danke erhalten: 3152
|
RE: Lua HM Menü Tutorial!
Achte mal auf das Datum, damals gab es den Bereich noch nicht. Ich verschiebe es aber gleich mal.
@XiaDao96 Nein, nur für PGE.
|
|
12.02.2011 20:09 |
|
Folgende User bedanken sich: |
|
belzebub
Legende
Beiträge: 1.006
Gruppe: User
Registriert seit: Nov 2010
Status:
Offline
Danke erhalten: 166
|
RE: Lua HM Menü Tutorial!
ok ich würde gern wissen wollen wie ich auf eine neue seite springen kann
und wie ich einen text mit überschrift hinkriege und ein bild einsetzen kann.
was muss ich machen damit ich den text sehen kann .
also wenn ich drücke
punkte={}
punkte[1]="Menue"
punkte[2]="1 test"
punkte[3]="2 test"
punkte[4]="beenden"
f={}
f[1]=function ()
end
f[2]=function ()
end
f[3]=function ()
System.message("will auf eine neue seite springen",0)
end
f[4]=function ()
System.Quit()
end
hab da nen problem,
wenn ich auf menü punkt 3 gehe und C drücke kackt der player ab und zeigt den text nicht an
-----------------------
wieso kann man nicht einfach
nen text da reinschreiben ,so das man ihn lesen kann ?
kann das zwar über drücken nun machen , doch dadrüber krieg ich die überschrieft nicht hin...weiss einer rat?
screen:print(30,50, "dein Text hier", red)
f={}
f[1]=function ()
end
f[2]=function ()
Mp3.load("test.mp3")
Mp3.play()
screen:print(150,50, "dein Text hier", red)
end
f[3]=function ()
end
f[4]=function ()
System.Quit()
end
habs gefunden
aber nur wenn ich aufs menü klicke....
-----------------------
hab den player gefunden
http://dl.qj.net/psp/homebrew-applications/luaplayer-windows.html
das sind die tasten die man benutzen kann,
SELECT = a
START = s
LTRIGGER = q
RTRIGGER = w
TRIANGLE = r
CIRCLE = f
CROSS = c
SQUARE = d
directional pad = cursor keys
"Glaube" heißt nicht wissen, was wahr ist.
"Im Glauben bleiben" heißt freilich nicht wissen wollen...
TuToRiAl
Lua als Eboot starten
Dieser Beitrag wurde zuletzt bearbeitet: 04.05.2011 10:17 von belzebub.
|
|
03.05.2011 21:04 |
|
Folgende User bedanken sich: |
|
belzebub
Legende
Beiträge: 1.006
Gruppe: User
Registriert seit: Nov 2010
Status:
Offline
Danke erhalten: 166
|
RE: Lua HM Menü Tutorial!
punkte={}
punkte[1]="Menue"
punkte[2]="1 lied an"
punkte[3]="2 lied stop"
punkte[4]="beenden"
f={}
f[1]=function ()
end
f[2]=function ()
Mp3.load("test.mp3")
Mp3.play()
end
f[3]=function ()
Mp3.stop()
end
f[4]=function ()
System.Quit()
end
quelle
http://lua.bumuckl.com/index.php?page=psplua_musikundsound
na immerhin spielt er nun ne mp3 ab beim anklicken des menü punktes
versteh nicht wie er nach dem abspielen es nochmal abspielen kann , ohne das ich erst auf stop gehe und dann auf wieder abspielen
hab aber auch nix gefunden direkt wie ich Ö Ü schreiben kann
"Glaube" heißt nicht wissen, was wahr ist.
"Im Glauben bleiben" heißt freilich nicht wissen wollen...
TuToRiAl
Lua als Eboot starten
Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2011 21:57 von belzebub.
|
|
03.05.2011 21:46 |
|
Folgende User bedanken sich: |
|
belzebub
Legende
Beiträge: 1.006
Gruppe: User
Registriert seit: Nov 2010
Status:
Offline
Danke erhalten: 166
|
RE: Lua HM Menü Tutorial!
"Glaube" heißt nicht wissen, was wahr ist.
"Im Glauben bleiben" heißt freilich nicht wissen wollen...
TuToRiAl
Lua als Eboot starten
|
|
04.05.2011 19:39 |
|
Folgende User bedanken sich: |
|
belzebub
Legende
Beiträge: 1.006
Gruppe: User
Registriert seit: Nov 2010
Status:
Offline
Danke erhalten: 166
|
RE: Lua HM Menü Tutorial!
ok irgendwie krieg ich keine antwort
kann nun über die menü auf eine andere seite gehen
doch dann kommt
chunk has too many snytax levels
kann mir einer dazu was sagen?
seite 1
Bildname = Image.load("./pics/bild1.jpg")
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)
light_blue = Color.new(0,180,255)
orange = Color.new(235,115,0)
yellow = Color.new(255,255,0)
gray = Color.new(160,160,160)
punkte={}
punkte[1]="Seite 2"
punkte[2]="1 lied an"
punkte[3]="2 lied aus"
punkte[4]="text 1"
punkte[5]="Ende"
f={}
f[1]=function ()
dofile("seite2.lua")
end
f[2]=function ()
Mp3.load("test.mp3")
Mp3.play()
screen:print(170,50, "dein Text hier", red)
end
f[3]=function ()
end
f[4]=function ()
screen:print(170,50, "dein Text hier 1", red)
end
f[5]=function ()
System.Quit()
end
current = 1
farbe={}
ypos=40
oldpad=Controls.read()
while true do
pad =Controls.read()
screen:clear()
screen:blit(0,0,Bildname)
if pad:up() and oldpad:up() ~= pad:up() then
current = current - 1
end
if pad:down() and oldpad:down() ~= pad:down() then
current = current + 1
end
if current > table.getn(punkte) then
current = 1
else if current<1 then
current=table.getn(punkte)
end
counterfarbe=0
while counterfarbe<current do
counterfarbe=counterfarbe+1
farbe[counterfarbe]=black
end
counterfarbe=current
while counterfarbe<table.getn(punkte) do
counterfarbe=counterfarbe+1
farbe[counterfarbe]=black
end
farbe[current]=red
counter=0
yposa=ypos
ypos=ypos+4
while counter<table.getn(punkte) do
counter=counter+1
screen:print(10,ypos,punkte[counter],farbe[counter])
ypos=ypos+15
end
if pad:cross() then
f[current]()
end
end
ypos=yposa
screen.flip()
screen.waitVblankStart()
oldpad=pad
end
seite 2
Bildname = Image.load("./pics/bild2.jpg")
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)
light_blue = Color.new(0,180,255)
orange = Color.new(235,115,0)
yellow = Color.new(255,255,0)
gray = Color.new(160,160,160)
punkte={}
punkte[1]="seite 3"
punkte[2]="Hauptseite"
punkte[3]="seite ??"
punkte[4]="beenden"
punkte[5]="weis nicht"
f={}
f[1]=function ()
dofile("seite3.lua")
end
f[2]=function ()
dofile("script.lua")
end
f[3]=function ()
end
f[4]=function ()
System.Quit()
end
f[5]=function ()
end
current = 1
farbe={}
ypos=40
oldpad=Controls.read()
while true do
pad =Controls.read()
screen:clear()
screen:blit(0,0,Bildname)
if pad:up() and oldpad:up() ~= pad:up() then
current = current - 1
end
if pad:down() and oldpad:down() ~= pad:down() then
current = current + 1
end
if current > table.getn(punkte) then
current = 1
else if current<1 then
current=table.getn(punkte)
end
counterfarbe=0
while counterfarbe<current do
counterfarbe=counterfarbe+1
farbe[counterfarbe]=black
end
counterfarbe=current
while counterfarbe<table.getn(punkte) do
counterfarbe=counterfarbe+1
farbe[counterfarbe]=black
end
farbe[current]=red
counter=0
yposa=ypos
ypos=ypos+4
while counter<table.getn(punkte) do
counter=counter+1
screen:print(10,ypos,punkte[counter],farbe[counter])
ypos=ypos+15
end
if pad:cross() then
f[current]()
end
end
ypos=yposa
screen.flip()
screen.waitVblankStart()
oldpad=pad
end
seite 3
Bildname = Image.load("./pics/bild3.jpg")
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)
light_blue = Color.new(0,180,255)
orange = Color.new(235,115,0)
yellow = Color.new(255,255,0)
gray = Color.new(160,160,160)
punkte={}
punkte[1]="Hauptmenue"
punkte[2]="text"
punkte[3]="seite 2"
punkte[4]="beenden"
punkte[5]="weis nicht"
f={}
f[1]=function ()
dofile("script.lua")
end
f[2]=function ()
Mp3.load("test.mp3")
Mp3.play()
screen:print(150,50, "dein Text hier", red)
end
f[3]=function ()
dofile("seite2.lua")
end
f[4]=function ()
System.Quit()
end
f[5]=function ()
end
current = 1
farbe={}
ypos=40
oldpad=Controls.read()
while true do
pad =Controls.read()
screen:clear()
screen:blit(0,0,Bildname)
if pad:up() and oldpad:up() ~= pad:up() then
current = current - 1
end
if pad:down() and oldpad:down() ~= pad:down() then
current = current + 1
end
if current > table.getn(punkte) then
current = 1
else if current<1 then
current=table.getn(punkte)
end
counterfarbe=0
while counterfarbe<current do
counterfarbe=counterfarbe+1
farbe[counterfarbe]=black
end
counterfarbe=current
while counterfarbe<table.getn(punkte) do
counterfarbe=counterfarbe+1
farbe[counterfarbe]=black
end
farbe[current]=red
counter=0
yposa=ypos
ypos=ypos+4
while counter<table.getn(punkte) do
counter=counter+1
screen:print(10,ypos,punkte[counter],farbe[counter])
ypos=ypos+15
end
if pad:cross() then
f[current]()
end
end
ypos=yposa
screen.flip()
screen.waitVblankStart()
oldpad=pad
end
darf jeder benutzen der will und jeder darf mitmachen
download
mit allen files
vielleicht hilft ja doch einer
der player ist auch drin
beta.exe
dies starten und die script.lua einfügen
http://www.multiupload.com/CMIY73YUBW
"Glaube" heißt nicht wissen, was wahr ist.
"Im Glauben bleiben" heißt freilich nicht wissen wollen...
TuToRiAl
Lua als Eboot starten
Dieser Beitrag wurde zuletzt bearbeitet: 04.05.2011 20:46 von belzebub.
|
|
04.05.2011 20:39 |
|
Folgende User bedanken sich: |
|
|