Variablen in Funktionen austauschen
Übersicht

![]() |
FreemanBetreff: Variablen in Funktionen austauschen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
ich wollt grad ne allgemeine laufanimation für alle npc's schreibn inder ich dann nur noch die Variablen austauschen muss, allerdings merk ich grad das ich da nich weiterkomme , deshalb brauch ich an der stelle mal eine hilfe von euch . Hier is nen beispielCode : Code: [AUSKLAPPEN] Graphics 640,480,32,2 SetBuffer BackBuffer() Type test Field oben End Type Global e.test = New test Global wert Function addiere(Variable) If KeyDown(200) wert = 25 Variable = wert EndIf End Function While Not KeyDown(1) Cls addiere(e\oben) Text 0,0,"Variable = :"+e\oben Flip Wend also ich möchte einfach das e\oben durch Variable ausgetauscht wird also im endeffekt 25 ergibt. aber es klappt hier nicht....WIESO,HILFE FrEeMaN |
||
![]() |
Digi_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi
Ich kann dir nicht viel zum Problem sagen, da ich nicht viel Erfahrung mit BB habe, nur das wohl bei BB das gleiche ist wie bei c++, das die Variable "Variable" beim starten der Funktion angelegt wird, und nach beenden der Funktion wieder gelöscht wird, so scheint es hier zu sein... In C++ muss man dazu mit Pointer arbeiten, aber das gibt afaik bei BB nicht... Mein Vorschlag: Code: [AUSKLAPPEN] Graphics 640,480,32,2 SetBuffer BackBuffer() Type test Field oben End Type Global e.test = New test Global wert Function addiere(Variable) If KeyDown(200) wert = 25 Variable = wert EndIf Return Variable End Function While Not KeyDown(1) Cls e\oben = addiere(e\oben) Text 0,0,"Variable = :"+e\oben Flip Wend mfg Digi |
||
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jo Digi hat recht,
in dem Moment wo du die Variable übergibst, wird sie kopiert! Wenn du die Funktion wieder verlässt, passiert also garnichts, denn du hast ja die eigentliche varibale nicht verändert. dies kannst du ändern indem du den neuen Wert zurückgibst (Return) Timo |
||
![]() |
Digi_ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gibt es denn keine andere Möglichkeit?
Wie vertausche ich dann zwei Variablen mit einer Funktion? |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist soweit ich das überblicke nur mit globalen variablen drin (leider).
Oder vielleicht den Variablen feste "Plätze" in einer Bank zuweisen, die Werte dort vertauschen und hinterher die Variablen mittels peek aktualisieren. Der Nutzen ist da aber auch eher fragwürdig (entspricht es doch quasi einer globalisierung). |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Freeman |
![]() Antworten mit Zitat ![]() |
---|---|---|
also gibt es keine wirkliche Lösung außer mit return?
Weil ich mach ebn grad die waypoint und NPC geschichte..und da ich die npc's natürlich animieren möchte bräuchte ich ne Procedure mit der ich die animieren kann, ja is ja ganz easy aber wie kann ich eine machen die man für alle nutzen kann? dafür bräucht ich ebn dieses Variablenaustauschen... Kann mir wer bezüglich der Laufanimation helfen? FrEeMaN |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group