Mainmenue

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Lunatix

Betreff: Mainmenue

BeitragSa, März 26, 2005 17:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi leutz!

ich hab ein problem mit meinem menue und weis net weiter
hier mein code:

BlitzBasic: [AUSKLAPPEN]

Graphics3D 600,500,32,3



Global mainmenue_sound=LoadSound(\"bombast.mp3\")
PlaySound (mainmenue_sound)
SoundVolume mainmenue_sound,0.5





mainmenue()

Function mainmenue()

sound_click=LoadSound(\"click1.wav\")
sound_click2=LoadSound(\"click2.wav\")
pointer=LoadImage(\"pointer_FK.png\")
button_yes=LoadImage(\"Button_yes.png\")
button_no =LoadImage(\"button_no.png\")
button_play=LoadImage(\"button_play.png\")
button_exit=LoadImage(\"button_exit.png\")
button_cancel=LoadImage(\"button_cancel.png\")
button_round=LoadImage(\"button_round.png\")
button_options=LoadImage(\"button_options.png\")
button_credits=LoadImage(\"button_credits.png\")
x=300
y=100
ScaleImage button_play,1.4,1.4
ScaleImage button_exit,1.4,1.4
ScaleImage button_options,1.4,1.4
ScaleImage button_credits,1.4,1.4
ScaleImage button_round,1.3,1.3
While Not KeyHit (28) And y=100
Cls

DrawImage button_play,300,100
DrawImage button_options,300,200
DrawImage button_credits,300,300
DrawImage button_exit,300,400
DrawImage button_round,x,y

If KeyHit(208)
y=y+100
PlaySound(sound_click)
EndIf

If KeyHit(200)
y=y-100
PlaySound(sound_click)
EndIf
If y=500=True
y=100
EndIf
If y=000=True
y=400
EndIf

If KeyHit(28)And y=100

PlaySound(sound_click2)
graph_mode2()
setup6() ;so hier soll dann das spiel angehen aber s blaibt beim
;mainmenue! wie schalt ich denn hier nach dem hauptprogramm?
schusskegel()

If KeyHit(28)And y=400
End
EndIf

If KeyHit(28) And y=300
PlaySound(sound_click2)
;credits()
EndIf
If KeyHit(28) And y=200
PlaySound(sound_click2)
options()
EndIf
Flip
EndIf
Wend
End Function


Function options()
While Not KeyHit(2)
Cls

button_Graphics=LoadImage(\"button_graphics.png\")
button_sound=LoadImage(\"button_sound.png\")
button_cancel=LoadImage(\"button_cancel.png\")
button_round=LoadImage(\"button_round.png\")

DrawImage button_graphics,300,200
DrawImage button_sound,300,300
DrawImage button_cancel,300,400
DrawImage button_round,x,y
ScaleImage button_round,1.3,1.3

If KeyHit(208)
y=y+100
EndIf
If KeyHit(200)
y=y-100
EndIf
If y=500=True
y=100
EndIf
If y=000=True
y=400
EndIf
If KeyHit(28) And y=400
mainmenue()
EndIf

options()
Wend
Cls
End Function


Function graph_mode2()

Graphics3D 800,600,32,1
SetBuffer BackBuffer()
Cls
Color 255,0,0
End Function

Function graph_mode3()
Graphics3D 640,480,32,1
SetBuffer BackBuffer()
Cls
Color 255,0,0
End Function


please help me
post me back THX im vorraus
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Hubsi

BeitragSa, März 26, 2005 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Todsünde:BlitzBasic: [AUSKLAPPEN]
While Not KeyHit(2)
Cls

button_Graphics=LoadImage(\"button_graphics.png\")
button_sound=LoadImage(\"button_sound.png\")
button_cancel=LoadImage(\"button_cancel.png\")
button_round=LoadImage(\"button_round.png\")
Ansonsten blick ich bei dem Code nicht durch. Zwölfundneunzig Funktionsaufrufe wild durcheinander und keine Einrückung Wink Pauschal würd ich empfehlen das Menü und das Game an sich in zwei voneinander unabhängige Schleifen zu stecken und zwischen den beiden mit Goto hin und herzuschalten. Also vom Menü ins Game: Goto game und zurück zum Menü: Goto menu. Klingt jetzt für den ein oder anderen stümperhaft, aber Goto kann bei sinnvollem Einsatz äußerst praktisch sein Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Lunatix

BeitragSa, März 26, 2005 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
wieso todsünde?
ich kann doch mein spiel mit der taste die ich will
beenden!
auserdem gibts ja n exit button wozu dann ESC?????

nochmal für dich mit n paar komments hab notime mehr hab nit alles geschafft sry bis denn

BlitzBasic: [AUSKLAPPEN]
Graphics3D 600,500,32,3



Global mainmenue_sound=LoadSound(\"bombast.mp3\")
PlaySound (mainmenue_sound)
SoundVolume mainmenue_sound,0.5





mainmenue()

Function mainmenue()

sound_click=LoadSound(\"click1.wav\")
sound_click2=LoadSound(\"click2.wav\")
pointer=LoadImage(\"pointer_FK.png\")
button_yes=LoadImage(\"Button_yes.png\")
button_no =LoadImage(\"button_no.png\")
button_play=LoadImage(\"button_play.png\")
button_exit=LoadImage(\"button_exit.png\")
button_cancel=LoadImage(\"button_cancel.png\")
button_round=LoadImage(\"button_round.png\")
button_options=LoadImage(\"button_options.png\")
button_credits=LoadImage(\"button_credits.png\")

;x /y koords für die umrandung
x=300
y=100

;buttons setzen

ScaleImage button_play,1.4,1.4
ScaleImage button_exit,1.4,1.4
ScaleImage button_options,1.4,1.4
ScaleImage button_credits,1.4,1.4
ScaleImage button_round,1.3,1.3


While Not KeyHit (28) And y=100
Cls

DrawImage button_play,300,100
DrawImage button_options,300,200
DrawImage button_credits,300,300
DrawImage button_exit,300,400
DrawImage button_round,x,y

If KeyHit(208)
y=y+100
PlaySound(sound_click)
EndIf

If KeyHit(200)
y=y-100
PlaySound(sound_click)
EndIf
If y=500=True
y=100
EndIf
If y=000=True
y=400
EndIf

If KeyHit(28)And y=100

PlaySound(sound_click2)
graph_mode2()
setup6()
schusskegel()








If KeyHit(82)And y=400
;PlaySound(sound_click2)
mainmenue()
End
EndIf

If KeyHit(28) And y=300
PlaySound(sound_click2)
;credits()
EndIf
If KeyHit(28) And y=200
PlaySound(sound_click2)
options()
EndIf
Flip
EndIf
Wend
End Function


Function options()
While Not KeyHit(2)
Cls

button_Graphics=LoadImage(\"button_graphics.png\")
button_sound=LoadImage(\"button_sound.png\")
button_cancel=LoadImage(\"button_cancel.png\")
button_round=LoadImage(\"button_round.png\")

DrawImage button_graphics,300,200
DrawImage button_sound,300,300
DrawImage button_cancel,300,400
DrawImage button_round,x,y
ScaleImage button_round,1.3,1.3

;button umrandung hoch ruter
If KeyHit(208)
y=y+100
EndIf

If KeyHit(200)
y=y-100
EndIf

If y=500=True
y=100
EndIf
If y=000=True
y=400
EndIf
;mainmenue rückkehr

If KeyHit(28) And y=400
mainmenue()
EndIf
;würde hir nit optons stehen würde er automatisch wieder ins mainmenue gehen!
options()
Wend
Cls
End Function

;graphicmodi für die optionen

Function graph_mode2()

Graphics3D 800,600,32,1
SetBuffer BackBuffer()
Cls
Color 255,0,0
End Function

Function graph_mode3()
Graphics3D 640,480,32,1
SetBuffer BackBuffer()
Cls
Color 255,0,0
End Function


.....
......


schreibt mir[/syntax]
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

The-Master

BeitragSa, März 26, 2005 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
ich glaub Hubsi meint mit Todsünde, dass du LoadImage in einer schleife hasst, und nicht das Keyhit(2)... Rolling Eyes

Hubsi

BeitragSo, März 27, 2005 10:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau das meinte ich Very Happy Welche Tasten Du für was verwendest ist mir relativ egal Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Lunatix

BeitragSo, Apr 03, 2005 11:54
Antworten mit Zitat
Benutzer-Profile anzeigen
ich krich aber meine images nit aufs ganze programm

auch nit mit global, kommt immer image does not exist!

funzt jetz einigermaßen nur das ich mehere functions hab ändere ich noch

musste nit :BlitzBasic: [AUSKLAPPEN]
If KeyHit(28) And y=100


sondern :BlitzBasic: [AUSKLAPPEN]
If KeyDown(28) And y=100

komisch aber is so
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

Apocalyptic

BeitragSo, Apr 03, 2005 14:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist nicht komisch. Entweder musst du Keyhit einmal in eine Variable speichern, oder so eine Abfrage benutzen:BlitzBasic: [AUSKLAPPEN]
If KeyHit(28) Then
If bla...
If blubb..
EndIf


Bei mehrmaliger Benutzung in einem Schleifendurchgang wird Keyhit(x) sonst wieder auf null zurückgesetzt. Im FAQ-Bereich gibts dazu einen Beitrag (https://www.blitzforum.de/viewtopic.php?t=8345).

Und der Befehl Graphics löscht alle Bilder im Speicher, darum musst du diese nach diesem Befehl erneut laden. In eine Schleife müssen die deswegen noch lange nicht Rolling Eyes
Suum cuique

[ www.ffs-net.de.vu ] [ Raycaster ]

Lunatix

BeitragMi, Apr 06, 2005 13:56
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hätt jetz noch ne fräge...

wie kriuch ich goto global??

BlitzBasic: [AUSKLAPPEN]

Function mainmenue()
.......
......
If KeyDown(28) And y=100
Goto .game ;-->> ERROR : UNDIFINED LABEL(oda so)
EndIf
End Function

.game

Function wassweisich()

End Function

For keine ahnung = zahl To blubb

Function nocheinehalt()

....
End Function

usw. :wink:
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Ornos

BeitragMi, Apr 06, 2005 14:15
Antworten mit Zitat
Benutzer-Profile anzeigen
das kann nicht gehen
1. arbeite nicht mit goto...pfui
2. versuche das

BlitzBasic: [AUSKLAPPEN]


Function mainmenue()
.......
......
If KeyDown(28) And y=100
wassweisich() : EndIf
End Function



Function wassweisich()

End Function

simi

BeitragMi, Apr 06, 2005 14:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht nicht....

Am Besten programmierst du so, das du keine Gotos brauchst, um aus Funktionen rauszuspringen.... (vielleicht hilft dier ql:return dabei)

//edit: ja, deine Lösung geht schon, Ornos....
Mein post bezieht sich nicht auf deiner... Wink
  • Zuletzt bearbeitet von simi am Mi, Apr 06, 2005 14:31, insgesamt einmal bearbeitet

Ornos

BeitragMi, Apr 06, 2005 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
man kann doch ne funktion innerhalb einer funktion öffnen
oder irre ich mich?

Jan_

Ehemaliger Admin

BeitragMi, Apr 06, 2005 14:32
Antworten mit Zitat
Benutzer-Profile anzeigen
kann man.
between angels and insects

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group