|
Verfasser |
Nachricht |
sigma-m
Team Sunny
Beiträge: 634
Gruppe: User
Registriert seit: Oct 2009
Status:
Offline
Danke erhalten: 377
|
Parameter in Funktionen [PGE LUA]
Hey Developer,
ich habe eine kleine Frage: Und zwar würde es mich immens an Code sparen, wenn ich Parameter in Funktionen verwenden könnte. Ich meine es ungefähr so:
function name(parameter_1,parameter_2)
--Code
bild:draweasy(x[parameter_1],y[parameter2])
end
Ich hoffe jemand versteht was ich meine. So könnte ich dann im Script etwas für parameter_1 und parameter_2 einsetzen, das dann automatisch hinter dem x und dem y unten erscheint.
Geht soetwas und wenn ja wie?
Gruß,
Sunny
|
|
05.06.2012 15:36 |
|
|
|
shaplayer
King
Beiträge: 2.821
Gruppe: User
Registriert seit: Sep 2010
Status:
Abwesend
Danke erhalten: 2753
|
RE: Parameter in Funktionen [PGE LUA]
Ja, dass geht.
Ich schreibe von der PSP deswegen wurde eine Erklarung zulang dauern, aber schau dir mal die functions.lua von meinem HB PSPOKEMON GREY an, da verwende ich das ofters.
|
|
05.06.2012 16:43 |
|
Folgende User bedanken sich: |
|
Blacky94
Junior Mitglied
Beiträge: 43
Gruppe: User
Registriert seit: May 2010
Status:
Offline
Danke erhalten: 21
|
RE: Parameter in Funktionen [PGE LUA]
Wie meinst du das?
Ist doch schon in deinem Beispiel richtig angegeben, du willst einer Funktion Parameter übergeben:
function name(parameter_1,parameter_2)
bild:draweasy(x..parameter_1,y..parameter2)
end
aufruf
name(5,5)
Dieser Beitrag wurde zuletzt bearbeitet: 05.06.2012 17:21 von Blacky94.
|
|
05.06.2012 17:19 |
|
Folgende User bedanken sich: |
|
sigma-m
Team Sunny
Beiträge: 634
Gruppe: User
Registriert seit: Oct 2009
Status:
Offline
Danke erhalten: 377
|
RE: Parameter in Funktionen [PGE LUA]
@Blacky94:
Das geht nicht, da spuckt er eine Fehlermeldung aus und sagt er hätte gerne ein "=" anstelle des "..".
@shaplayer:
Wenn ich deinen Code richtig verstehe müsste es nämlich auch mir eckigen Klammern funktionieren.. Tuts aber nicht. Am besten poste ich mal den Code:
c_nr = 1
comet_status[c_nr] = 0
function comet(c_nr,c_startX,c_startY,c_endX,c_endY,c_stepX,c_stepY)
if comet_status == 0 then
currentX[c_nr] = c_startX[c_nr]
currentY[c_nr] = c_startY[c_nr]
if currentX[c_nr] == c_startX[c_nr] and currentY[c_nr] == c_startY[c_nr] then
comet_status[c_nr] = 1
end
end
if comet_status == 1 then
currentX[c_nr] = currentX[c_nr] + c_stepX[c_nr]
currentY[c_nr] = currentY[c_nr] + c_stepY[c_nr]
if c_endX[c_nr] >= c_startX[c_nr] then
if currentX[c_nr] >= c_endX[c_nr] then
comet_status[c_nr] = 0
end
else
if currentX[c_nr] <= c_endX[c_nr] then
comet_status[c_nr] = 0
end
end
if c_endY[c_nr] >= c_startY[c_nr] then
if currentY[c_nr] >= c_endY[c_nr] then
comet_status[c_nr] = 0
end
else
if currentY[c_nr] <= c_endY[c_nr] then
comet_status[c_nr] = 0
end
end
end
stone:draweasy(currentX[c_nr],currentY[c_nr],rotation_fast,255)
end
ich würde nun einfach gerne erreichen, dass ich für "c_nr" im Script einfach eine Zahl einsetze und der mir dann halt diese Zahl an die sämtlichen Parameter ranhängt. Würde um die 700 Zeilen Code sparen, deshalb von größerer Bedeutung
|
|
05.06.2012 18:53 |
|
|
|
Gigor
Durchstarter
Beiträge: 72
Gruppe: User
Registriert seit: Jun 2011
Status:
Offline
Danke erhalten: 18
|
RE: Parameter in Funktionen [PGE LUA]
Moin,
wie meinst du das mit ranhängen? Im sinne von dahinterschreiben?
Nach dem Motto:
1234 hänge 5678 dran dass 12345678 rauskommt?
ich verstehe nicht ganz was du meinst
Edit:
Die eckigen klammern sind normalerweise für Arrays/Listen, also ich kenne mich mit Lua nicht so kenne ich dass aus andren Sprachen..
E2:Ich glaube langsam versteh ich was du meinst..
du hast also sozusagen viele variablen
x1, x2, x3, x4, x5
und willst nun jeweils eine davon ansprechen in dem du eine weitere Varible hast, nennen wir sie z und dann im Script bestimmst, z=1 und dadurch der ausdruch
zu
wird?
Ob das geht weiß ich nicht aber da würd ich dann Arrays(="Listen") empfehlen, den genauen Syntax kenn ich zwar nicht, aber müsste in so in etwa gehen:
xWertListe[5] = {1,6,2,7,9}
Dann kannst du mit
n = 0 oder n=1 ...
xWertListe[n]
jeweils das n-te element ansprechen, wobei die Nummerierung bei 0 beginnt.
In diesem Falle wäre also xWertListe[1] 6
Anmerkung: Wie schon gesagt, den genauen Syntax kenne ich nicht von Lua, aber so in etwa müsste es sein, kannst ja nochmal nachlesen..
mfg Gigor
Dieser Beitrag wurde zuletzt bearbeitet: 05.06.2012 19:35 von Gigor.
|
|
05.06.2012 19:06 |
|
|
|
sigma-m
Team Sunny
Beiträge: 634
Gruppe: User
Registriert seit: Oct 2009
Status:
Offline
Danke erhalten: 377
|
RE: Parameter in Funktionen [PGE LUA]
Jupp, genau das mein' ich
|
|
05.06.2012 19:29 |
|
|
|
Gigor
Durchstarter
Beiträge: 72
Gruppe: User
Registriert seit: Jun 2011
Status:
Offline
Danke erhalten: 18
|
RE: Parameter in Funktionen [PGE LUA]
So hab jetzt ne weile rumeditiert, aber jetzt bin ich fertig
|
|
05.06.2012 19:37 |
|
Folgende User bedanken sich: |
|
Blacky94
Junior Mitglied
Beiträge: 43
Gruppe: User
Registriert seit: May 2010
Status:
Offline
Danke erhalten: 21
|
RE: Parameter in Funktionen [PGE LUA]
jeweils das n-te element ansprechen, wobei die Nummerierung bei 0 beginnt.
In diesem Falle wäre also xWertListe[1] 6
Anmerkung: Wie schon gesagt, den genauen Syntax kenne ich nicht von Lua, aber so in etwa müsste es sein, kannst ja nochmal nachlesen..
Bei Lua fängt der Index meines wissens nach schon bei 1 an ;o
Sorry, ich habe deine Frage nicht richtig verstanden und wusste nicht das es hier um Tabellen/Arrays geht. Ist das Problem den schon gelöst oder kommt noch eine Fehlermeldung?
|
|
05.06.2012 21:22 |
|
|
|
sigma-m
Team Sunny
Beiträge: 634
Gruppe: User
Registriert seit: Oct 2009
Status:
Offline
Danke erhalten: 377
|
RE: Parameter in Funktionen [PGE LUA]
Leider funktioniert alles nicht. Ich habe lange daran rumprobiert, jedoch nicht mehr so viel Zeit mich intensiv damit zu beschäftigen. Wird der Code halt etwas länger und unschöner, das funktioniert dann jedoch auch wenigstens.
Danke trotzdem, schade dass es nicht geklappt hat.
|
|
10.06.2012 12:33 |
|
|
|