Menü funktioniert nicht
Übersicht

![]() |
bear1Betreff: Menü funktioniert nicht |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Ich habe hier ein kleines Menü zusammengestellt, ein Hauptmenü für mein neues Spiel. Aber das Menü funktioniert nicht, der Pfeil des Menüs geht nicht nach unten. Wenn ich fünf mal die Down-Taste gedrückt habe, beendet er das Programm. Hier der Code: Code: [AUSKLAPPEN] Text 200,300,"Hauptmenü" ;SetFont font .hpm Text 200,360,"> Neues Spiel starten" Text 200,380," Hilfe" Text 200,400," Beenden" Text 200,420," Über Banking Tycoon" pfeilstelle$ = "new" .hpmenerwarten WaitKey If KeyHit(208) And pfeilstelle$ = "New" Then Cls Text 200,360," Neues Spiel starten" Text 200,380,"> Hilfe" Text 200,400," Beenden" Text 200,420," Über Banking Tycoon" pfeilstelle$ = "hilfe" Goto hpmenerwarten EndIf If KeyHit(208) And pfeilstelle$ = "hilfe" Then Cls Text 200,360," Neues Spiel starten" Text 200,380," Hilfe" Text 200,400,"> Beenden" Text 200,420," Über Banking Tycoon" pfeilstelle$ = "beenden" Goto hpmenerwarten EndIf If KeyHit(208) And pfeilstelle$ = "beenden" Then Cls Text 200,360," Neues Spiel starten" Text 200,380," Hilfe" Text 200,400," Beenden" Text 200,420,"> Über Banking Tycoon" pfeilstelle$ = "about" Goto hpmenerwarten EndIf If KeyHit(200) And pfeilstelle$ = "about" Then Cls Text 200,360," Neues Spiel starten" Text 200,380," Hilfe" Text 200,400,"> Beenden" Text 200,420," Über Banking Tycoon" pfeilstelle$ = "beenden" Goto hpmenerwarten EndIf If KeyHit(200) And pfeilstelle$ = "beenden" Then Cls Text 200,360," Neues Spiel starten" Text 200,380,"> Hilfe" Text 200,400," Beenden" Text 200,420," Über Banking Tycoon" pfeilstelle$ = "hilfe" Goto hpmenerwarten EndIf If KeyHit(200) And pfeilstelle$ = "hilfe" Then Cls Text 200,360,"> Neues Spiel starten" Text 200,380," Hilfe" Text 200,400," Beenden" Text 200,420," Über Banking Tycoon" pfeilstelle$ = "new" EndIf If KeyHit(200) And pfeilstelle$ = "new" Then Goto hpm If KeyHit(28) And pfeilstelle$ = "new" Then Goto newgame If KeyHit(28) And pfeilstelle$ = "hilfe" Then Goto hilfe If KeyHit(28) And pfeilstelle$ = "beenden" Then Goto ende If KeyHit(28) And pfeilstelle$ = "about" Then Goto about .newgame Cls WaitKey .hilfe Cls WaitKey .ende Cls WaitKey .about Cls WaitKey Hoffentlich kann mir jemand helfen. Danke im Voraus, bear1 http://www.erixpage.de/index.html |
||
Ja, ne...
Zum virtuellen Staat Eranien: http://www.eranien.de Zu meinem Blog: http://www.erixpage.de |
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ganze kannst du dir viel einfacher machen! Du schreibst einfach einmal das Menü hin und bewegst dann einen Cursor. Diesem gibst du eine Variable. Diese Variable zeigt dann an welcher Menüpunkt angewählt ist und wo der Cursor gezeichnet werden muss!
Ich habe dazu mal ein Beispiel geschrieben. Wenn du noch Fragen dazu hast, dann frag ![]() So wie du es mit den ganzen GOTOs gemacht hast und alles so oft gezeichnet hast wirkt es sehr unübersichtlich. Deshalb konnte ich auch den Fehler darin nicht finden. Also, mein Beispiel: Code: [AUSKLAPPEN] Graphics 800,600,16,2 SetBuffer BackBuffer() menu = 1 Repeat Cls Select Menu Case 1 Text 180,360,">>" If KeyHit(28) Then NeuesSpiel Case 2 Text 180,380,">>" If KeyHit(28) Then Hilfe Case 3 Text 180,400,">>" If KeyHit(28) Then End Case 4 Text 180,420,">>" If KeyHit(28) Then About End Select If KeyHit(200) And menu > 1 Then Menu = Menu - 1 If KeyHit(208) And Menu < 4 Then Menu = menu + 1 Text 0,0, "Menüauswahl: " + menu Text 200,360," Neues Spiel starten" Text 200,380," Hilfe" Text 200,400," Beenden" Text 200,420," Über Banking Tycoon" Flip Until KeyHit(1) End Function NeuesSpiel() Print "NeuesSpiel" Flip Delay 1000 End Function Function Hilfe() Print "Hilfe" Flip Delay 1000 End Function Function About() Print "About" Flip Delay 1000 End Function |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
irgendwie fehlt da ein zeiger, und umstänlich ist es auch
besser geht das mit select case mon....ich mach da mal was ! Code: [AUSKLAPPEN] Graphics 640,480,16,2
Const ENTER = 28, ESC = 1,HOCH = 200,RUNTER = 208 SetBuffer BackBuffer() .hpm Repeat;##################### If KeyHit (Hoch) Then option = option -1 If KeyHit (Runter) Then option = option +1 If option > 3 Then option = 0 If option < 0 Then option = 3 Select Option Case 0 Text 200,360,"> Neues Spiel starten" Text 200,380," Hilfe" Text 200,400," Beenden" Text 200,420," Über Banking Tycoon" Case 1 Text 200,360," Neues Spiel starten" Text 200,380,"> Hilfe" Text 200,400," Beenden" Text 200,420," Über Banking Tycoon" Case 2 Text 200,360," Neues Spiel starten" Text 200,380," Hilfe" Text 200,400,"> Beenden" Text 200,420," Über Banking Tycoon" Case 3 Text 200,360," Neues Spiel starten" Text 200,380," Hilfe" Text 200,400," Beenden" Text 200,420,"> Über Banking Tycoon" End Select Flip Cls Until KeyDown (ENTER);############################## Select Option Case 0 Goto newgame Case 1 Goto hilfe Case 2 Goto ende Case 3 Goto about End Select ;############################## ;Sprungadressen .newgame Cls WaitKey .hilfe Cls WaitKey .ende Cls WaitKey .about Cls WaitKey und diese Gotos solltest du besser durch function ersetzten sonst gibt es bald irgendwann den großen Kollabs War mal wieder einer schneller, aber egal .... |
||
[BB2D | BB3D | BB+]
|
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group