GLBasic forum

Other languages => GLBasic - de => Topic started by: ProN3rd on 2013-Nov-23

Title: Variablennamen aus strings zusammenbauen
Post by: ProN3rd on 2013-Nov-23
Hey liebe Leute, hab folgendes Problem:

Code (glbasic) Select

SETCURRENTDIR("Media") // go to media files
GLOBAL stage = GENSPRITE(); LOADSPRITE "stage.png", stage

GLOBAL l1stage = GENSPRITE()
GLOBAL l2stage = GENSPRITE()

WHILE TRUE
test(2)
DRAWSPRITE l1stage,100,100
DRAWSPRITE l2stage,300,300
SHOWSCREEN
WEND

FUNCTION test: value
LOCAL dummy$
IF value = 1
dummy$ = "l1"
ELSEIF value = 2
dummy$ = "l2"
ENDIF
dummy$+stage = stage

ENDFUNCTION



der fehler ist die letzte Zeile in der Funktion. Hab schon einiges ausprobiert, auch mit "" bei beiden Variablen aber leider ohne Erfolg. Also wenn ich die Funktion mit 1 aufrufe, soll er l1stage = stage machen und ansonsten eben l2stage = stage, damit das entsprechende Bild zugewiesen wird
Title: Re: Variablennamen aus strings zusammenbauen
Post by: kanonet on 2013-Nov-23
Hallo, Willkommen im Forum!
Um es kurz zu machen: das geht nicht. Der Name einer Variable muss immer vollständig ausgeschrieben werden, sonst geht es nicht.
Damit man nicht endlos Variablen wie stage1, stage2, stage3,... schreiben muss, gibt es Arrays, hier ein Beispiel wie du vier Einträge im Array stage erzeugst und nutzt, beachte, dass der Computer bei 0 beginnt zu zählen:
Code (glbasic) Select
LOCAL stage[]
DIM stage[3]
stage[0]=1
stage[1]=2
stage[2]=3
stage[3]=4
Title: Re: Variablennamen aus strings zusammenbauen
Post by: ProN3rd on 2013-Nov-23
koralle, so gehts, thx !