Menü verbessern
Übersicht

![]() |
Hannes1995Betreff: Menü verbessern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi, Leute !
Ich habe mir ein Menü mehr oder weniger gebastelt und möchte jetzt das wenn ich im menü optionen bin auf Grafikoptionen klicken kann, das dann aber auch wirklich etwas angezeigt wird ! *wird es nämlich nicht* Zum besseren Verständnis: Der Code: Code: [AUSKLAPPEN] Include "PButtons.bb"
Graphics 800, 600, 16, 2 SetBuffer BackBuffer() Global MainImage = LoadImage("textures/symbols/main.png") Global NewGame = LoadImage("textures/symbols/NewGame.png") Global LoadGame = LoadImage("textures/symbols/LoadGame.png") Global EndGame = LoadImage("textures/symbols/EndGame.png") Global Options = LoadImage("textures/symbols/Options.png") Global opt_graphics = LoadImage("textures/symbols/opt_graphics.png") Global opt_sound = LoadImage("textures/symbols/opt_sound.png") Global opt_steuer = LoadImage("textures/symbols/opt_steuer.png") Global menu = 1 Global Timer2 = CreateTimer(30) Global menustate = 1 Global Btn_daddln = PB_CreateButton("Jetzt spielen: Hier klicken!", 350, 200, 1, 100, 50, "textures/symbols/NewGame2.png") Global Btn_load = PB_CreateButton("Spielstand laden", 350, 260, 1, 100, 50, "textures/symbols/LoadGame2.png") Global Btn_options = PB_CreateButton("Optionen", 350, 320, 1, 100, 50, "textures/symbols/Options2.png") Global Btn_beenden = PB_CreateButton("Zum Beenden hier drücken.", 350, 380,1, 100, 50, "textures/symbols/EndGame2.png") Global Btn_back = PB_CreateButton("Drücke hier, um zurück zu gelangen.", 10, 10, 1, StringWidth("Zurück."), FontHeight()) PB_SetHintFont("Verdana") PB_SetHintColor(245, 248, 152, 0, 0, 0, 208, 55, 163) Repeat WaitTimer(Timer2) Cls DrawImage NewGame,350,200 MaskImage NewGame,255,255,255 DrawImage LoadGame,350,260 MaskImage LoadGame,255,255,255 DrawImage Options,350,320 MaskImage Options,255,255,255 DrawImage EndGame,350,380 MaskImage EndGame,255,255,255 Select menustate Case 1 ; Hauptmenü ; Erst alle anderen Buttons Deaktivieren PB_DisableAll() PB_EnableButton(Btn_daddln) PB_EnableButton(Btn_load) PB_EnableButton(Btn_options) PB_EnableButton(Btn_beenden) ; Das Menü-Bild malen DrawImage MainImage, 0, 0 If PB_ButtonHit(Btn_daddln) Then menustate = 2 If PB_ButtonHit(Btn_load) Then menustate = 3 If PB_ButtonHit(Btn_options) Then menustate = 4 If PB_ButtonHit(Btn_beenden) Then menu = 0 Case 2 ; spielen ; Jetzt zuerst alle Buttons deaktivieren, sonst könnte man die Anderen Buttons noch drücken! PB_DisableAll() Cls Gosub Mainprogramm Case 3 ; laden PB_DisableAll() PB_EnableButton(Btn_Back) Cls Color 255, 255, 255 Text 10,10,"Zurück" If PB_ButtonHit(Btn_back) Then menustate = 1 Text 100,10,"Wähle einen Spielstand zum Laden aus: " Case 4 ;Hier fängt das Problem an ... ; Optionen PB_DisableAll() PB_EnableButton(Btn_back) Btn_optgra = PB_CreateButton("Drücke hier um die Grafikoptionen zu ändern ", 350, 200, 1, 100, 50, "textures/symbols/opt_graphics2.png") Btn_optsou = PB_CreateButton("Drücke hier um die Soundoptionen zu ändern ", 350, 260, 1, 100, 50, "textures/symbols/opt_sound2.png") Btn_optste = PB_CreateButton("Drücke hier um die Steuerung zu ändern ", 350, 320, 1, 100, 50, "textures/symbols/opt_steuer2.png") PB_EnableButton(Btn_optgra) PB_EnableButton(Btn_optsou) PB_EnableButton(Btn_optste) Cls Color 255, 255, 255 Text 10,10,"Zurück" If PB_ButtonHit(Btn_back) Then menustate = 1 If PB_ButtonHit(Btn_optgra) Then menustate = 5 If PB_ButtonHit(Btn_optsou) Then menustate = 6 If PB_ButtonHit(Btn_optste) Then menustate = 7 DrawImage opt_graphics,350,200 MaskImage opt_graphics,255,255,255 DrawImage opt_sound,350,260 MaskImage opt_sound,255,255,255 DrawImage opt_steuer,350,320 MaskImage opt_steuer,255,255,255 ; ...und hier hörts auf ! *glaub ich* End Select ; Nicht vergessen: Updaten PB_Update() Flip Until menu = 0 End |
||
Lador |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: DrawImage NewGame,350,200
MaskImage NewGame,255,255,255 DrawImage LoadGame,350,260 MaskImage LoadGame,255,255,255 DrawImage Options,350,320 MaskImage Options,255,255,255 DrawImage EndGame,350,380 MaskImage EndGame,255,255,255 MaskImage kommt generell nach LoadImage(). Naja, das ist ja auch nicht dein Problem. Ich habe das auch mal gemacht, da habe ich das etwa so gelöst: z.B. für Auflösung, habe ich eine Variable genommen, die hat das, was in der Datei "Optionen.ini" stand, speicherte (also z.B. "800", "600" oder "Fenstermodus"). Dann eine, die z.B. Auflösungsbreite in einem Int speicherte, also "800", "600" oder "0". Dann einfach beim Mausklick überprüft, welche Auflösung die nächst höhere ist (ich hab das ohne Grafiktreiber gelöst), oder ob Vollbild 1 (True) oder 0 (False) ist. Also reine Logik. MFG Lador |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um einen klick abzufragen, würd ichs so machen:
Mach en variable mit Mousehit(1) drin. Wenn dann MouseX() innerhalb des Buttons ist. (Grösser Buttonstartx, kleiner buttonstartX+breite, das gleiche mit Y) und ms=1 ist, wird irgendwas gemacht.[/code] |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group