Global irgendwie doch nicht Global?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Surat

Betreff: Global irgendwie doch nicht Global?

BeitragSo, Okt 02, 2005 13:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Folgendes Problem:
BlitzBasic: [AUSKLAPPEN]

Global Player1_richtung=1


Function Player1_Xen()



Select Player1_richtung
Case 1 DrawImage xen(2),Xplayer1,Yplayer1
End Select

Text 0,0,\"\"+Player1_richtung

End Function



Obwohl ich Player1_richtung Global gemacht habe, wird kein
Bild angezeigt und Text gibt den Wert 0 aus.

Was stimmt mit dem Code nicht? Ich verwende diese Funktion
in einer Repeat-Schleife, in der natürlich alle
erforderlichen Befehle drinstehen(also Flip etc.)
Trotzdem zeigt die Funktion kein Bild an und nimmt den
globalen Wert gar nicht wahr!

Ich bin für jede Hilfe dankbar
gruß, felix
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)

AZUON-Beyond the dark life (2%)
SOULS OF DESTINY (23%)

simi

BeitragSo, Okt 02, 2005 13:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich nehem mal an, die Variable wird irgendwo in deinem code vor der Funktion auf 0 gesetzt.... Wink

Ohen mehr informationen/code können wir nicht viel mehr sagen Wink

Surat

BeitragSo, Okt 02, 2005 13:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, hier der gesamte Code
BlitzBasic: [AUSKLAPPEN]

;XENAWA FIGHTER 2

AppTitle \"XENAWA FIGHTER 2\"

Graphics 640,480
SetBuffer BackBuffer()
SeedRnd MilliSecs()




;logo
Global xf2_logo=LoadImage(\"Grafiken\xf2_logo.png\")

Global xf2_hymne=LoadSound(\"Musik\Xenawa Fighter 2 Hymne.wav\")


font=LoadFont(\"Arial\",40,1,0,0)

font_zeit=MilliSecs()

farb_zeit=MilliSecs()


;hm
Global hm=LoadImage(\"Grafiken\hm.jpg\")

Global story=LoadImage(\"Grafiken\Auswahl_story.jpg\")
MaskImage story ,255,0,255


Global story_aktiv=LoadImage(\"Grafiken\Auswahl_story_aktiv.jpg\")
MaskImage story_aktiv ,255,0,255



Global vs_mode=LoadImage(\"Grafiken\Auswahl_vs_mode.jpg\")
MaskImage vs_mode ,255,0,255

Global vs_mode_aktiv=LoadImage(\"Grafiken\Auswahl_vs_mode_aktiv.jpg\")
MaskImage vs_mode_aktiv ,255,0,255

Global ende=LoadImage(\"Grafiken\Auswahl_ende.jpg\")
MaskImage ende ,255,0,255
Global ende_aktiv=LoadImage(\"Grafiken\Auswahl_ende_aktiv.jpg\")
MaskImage ende_aktiv ,255,0,255

Global maus=LoadImage(\"Grafiken\maus.bmp\")
MaskImage maus ,255,0,255

Global hm_mucke=LoadSound(\"Musik\bagpipe.mp3\")







Dim arena(100)
arena(1)=LoadImage(\"Grafiken\forest.bmp\")

;Pfeile Laden
Dim pf1(100,3)
Global pfeil_rechts=LoadImage(\"Grafiken\Pfeil_rechts.bmp\")
Dim pf2(100,3)
Global pfeil_links=LoadImage(\"Grafiken\Pfeil_links.bmp\")



;vs_mode
Global hintergrund_vs_mode=LoadImage(\"Grafiken\storm.bmp\")
Global auswahl_xen=LoadImage(\"Grafiken\auswahl_xen.bmp\")
MaskImage auswahl_xen,255,0,255
Global auswahl_xin=LoadImage(\"Grafiken\auswahl_xin.bmp\")
MaskImage auswahl_xin,255,0,255


Global vs_figur_font=LoadFont(\"Arial\",40,1,0,0)
Global vs_spieler_font=LoadFont(\"Arial\",20,1,0,0)


Global auswahl_xen_aktiv=LoadImage(\"Grafiken\auswahl_xen_aktiv.bmp\")
MaskImage auswahl_xen_aktiv,255,0,255
Global auswahl_xin_aktiv=LoadImage(\"Grafiken\auswahl_xin_aktiv.bmp\")
MaskImage auswahl_xin_aktiv,255,0,255


Global auswahl_p1=LoadImage(\"Grafiken\auswahl_p1.bmp\")
MaskImage auswahl_p1,255,0,255

Global xen_bild=LoadImage(\"Grafiken\Kämpfer\XEN.bmp\")
MaskImage xen_bild,255,0,255
Global xin_bild=LoadImage(\"Grafiken\Kämpfer\XIN.bmp\")
MaskImage xin_bild,255,0,255


Global vs_mode_musik=LoadSound(\"Musik\loop2.wav\")



Dim vs_arena(3)
vs_arena(1)=LoadImage(\"Grafiken\arena_kgp.bmp\")
MaskImage vs_arena(1),255,0,255
vs_arena(2)=LoadImage(\"Grafiken\arena_dereba.bmp\")
MaskImage vs_arena(2),255,0,255
vs_arena(3)=LoadImage(\"Grafiken\forest.bmp\")
MaskImage vs_arena(3),255,0,255



Global vs_mode_sound1=LoadSound(\"Musik\kampf1.wav\")
Global vs_mode_sound2=LoadSound(\"Musik\kampf2.wav\")






;Xen laden
Dim xen(100)
xen(1)=LoadAnimImage(\"Grafiken\Xen_Animation_Pfeilschuss_rechts.bmp\",200,250,0,4)
xen(2)=LoadAnimImage(\"Grafiken\Xen_Animation_Pfeilschuss_links.bmp\",200,250,0,4)
xen(3)=LoadAnimImage(\"Grafiken\Xen_Animation_Laufen_links.bmp\",200,250,0,6)
xen(4)=LoadAnimImage(\"Grafiken\Xen_Animation_Laufen_rechts.bmp\",200,250,0,6)
xen(5)=LoadImage(\"Grafiken\Xen_Abwehr.bmp\")
xen(6)=LoadImage(\"Grafiken\Xen_Abwehr2.bmp\")

MaskImage pfeil_rechts,255,0,255
MaskImage pfeil_links,255,0,255


MaskImage xen(1),255,0,255
MaskImage xen(2),255,0,255
MaskImage xen(3),255,0,255
MaskImage xen(4),255,0,255
MaskImage xen(5),255,0,255
MaskImage xen(6),255,0,255







LoopSound(xf2_hymne)
logo_channel=PlaySound(xf2_hymne)



;Logo Schleife
Repeat
SetFont font
DrawImage xf2_logo,0,0


If MilliSecs()-font_zeit>3000 Then
Color 255,0,0
Text 142,350,\"Press Enter to start\"
EndIf



Flip
Until KeyHit(28)



; Hauptmenue Schleife



MaskImage maus,255,0,255

LoopSound(hm_mucke)
Global hm_channel=PlaySound(hm_mucke)

Repeat
X=MouseX()
Y=MouseY()
StopChannel logo_channel
Cls

H=H+1
If H=200 Then H=0
TileBlock hm,0,H

DrawImage story,120,50
DrawImage vs_mode,120,200
DrawImage ende,120,350


If ImagesCollide(maus,X,Y,0,story,120,50,0) Then
DrawImage story_aktiv,120,50
EndIf



If ImagesCollide(maus,X,Y,0,vs_mode,120,200,0) Then
DrawImage vs_mode_aktiv,120,200
EndIf



If ImagesCollide(maus,X,Y,0,ende,120,350,0) Then
DrawImage ende_aktiv,120,350
EndIf








If ImagesCollide(maus,X,Y,0,story,120,50,0) And MouseDown(1) Then
Story_Begin()
EndIf


If ImagesCollide(maus,X,Y,0,vs_mode,120,200,0) And MouseDown(1) Then
vs_mode_auswahl()
EndIf




If ImagesCollide(maus,X,Y,0,ende,120,350,0) And MouseDown(1) Then
End
EndIf











DrawImage maus,X,Y


Flip
Until KeyHit(1)























Global vs_mode_channel

Global player1$
Global player2$

Function vs_mode_auswahl()

StopChannel hm_channel
Cls

player1$=0
player2$=0


LoopSound(vs_mode_musik)
vs_mode_channel=PlaySound(vs_mode_musik)

zeit=MilliSecs()


Xp1=-100
Yp1=-100


zeit=MilliSecs()



Repeat
X=MouseX()
Y=MouseY()
mausklick=MouseHit(1)





Color 255,0,0
SetFont vs_figur_font

DrawImage hintergrund_vs_mode,0,0
DrawImage auswahl_xen,50,50
DrawImage auswahl_xin,200,50

If ImagesCollide(maus,X,Y,0,auswahl_xen,50,50,0) Then
Text 375,90,\"XEN\"
DrawImage auswahl_xen_aktiv,50,50
DrawImage xen_bild,350,130
EndIf


If ImagesCollide(maus,X,Y,0,auswahl_xin,200,50,0) Then
Text 450,90,\"XIN\"
DrawImage auswahl_xin_aktiv,200,50
DrawImage xin_bild,350,130
EndIf








If player1$=0 And ImagesCollide(maus,X,Y,0,auswahl_xen,50,50,0) And mausklick Then
player1$=\"XEN\"
X=200
Y=200
EndIf

If player1$=0 And ImagesCollide(maus,X,Y,0,auswahl_xin,200,50,0) And mausklick Then
player1$=\"XIN\"
X=200
Y=200
EndIf




If player2$=0 And player1>0 And ImagesCollide(maus,X,Y,0,auswahl_xen,50,50,0) And mausklick Then
player2$=\"XEN\"
ablaufzeit=2000
EndIf


If player2$=0 And player1>0 And ImagesCollide(maus,X,Y,0,auswahl_xin,200,50,0) And mausklick Then
player2$=\"XIN\"
ablaufzeit=2000
EndIf





If player1$>0 And player2$>0 Then
vs_mode()
EndIf




SetFont vs_spieler_font
Text 50, 400,\"Spieler 1 : \" + player1$
Text 50, 450,\"Spieler 2 : \" + player2$







DrawImage maus,X,Y


Flip
Until KeyHit(1)


End Function







Global vs_channel


Function vs_mode()

StopChannel vs_mode_channel

rnd_arena=Rand(1,3)


vs_mode_mucke=Rand(1,3)



If vs_mode_mucke=1 Or vs_mode_mucke=2 Then
LoopSound(vs_mode_sound1)
vs_channel=PlaySound(vs_mode_sound1)
EndIf

If vs_mode_mucke=3 Then
LoopSound(vs_mode_sound2)
vs_channel=PlaySound(vs_mode_sound2)
EndIf



Repeat
Cls

TileBlock vs_arena(rnd_arena),0,0


Player1_Xen()





Flip
Until KeyHit(1)


End Function





Global Player1_richtung=1


Function Player1_Xen()



Select Player1_richtung
Case 1 DrawImage xen(2),Xplayer1,Yplayer1
End Select

Text 0,0,\"\"+Player1_richtung

End Function
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)

AZUON-Beyond the dark life (2%)
SOULS OF DESTINY (23%)

simi

BeitragSo, Okt 02, 2005 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
dein Programm kommt gar nie bis zu Global Player1_richtung=1 .....

ich würds mal an den Anfang schreiben, und den code noch ein bisschen besser formatieren Wink

Surat

BeitragSo, Okt 02, 2005 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
achso,

vielen Dank!!! Wink
"DER GRÖßTE FEIND IST IN DEN EIGENEN REIHEN" (Trygonia-Xen's Quest)

AZUON-Beyond the dark life (2%)
SOULS OF DESTINY (23%)

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group