menü problem
Übersicht

kadaj770Betreff: menü problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi,
ich habe ein menü gemacht, dass mit "start" und "quit" versehen ist. ich will das wenn ich auf start drücke, dass das programm einbisschen übersprungen wird und zum "ingame- modus" wechselt und wenn ich quit drücke sich das programm schließt. bin schon seit über einer stunde am rumwerkeln aber es gelingt nicht... ich weiß (glaube ![]() Code: [AUSKLAPPEN] Graphics3D 800,600, 16, 2
SetBuffer BackBuffer() Global modus = 0 ,x=1 ; 0 = menü modus 1 = quit, 2 = ingame ; load stuff hintergrund = LoadImage("startmenü2.bmp") start= LoadImage("start.bmp") quit = LoadImage ("quit.bmp") piep =LoadSound("beep.wav") ; beim start - quit wechsel wechsel = LoadSound("") ; beim startdrücken If modus = 0 Then menüsound = PlayMusic("main.mp3") EndIf ; end load stuff ;draw stuff DrawImage hintergrund ,0,0 ; hintergrund DrawImage start ,200, 360 ;start ;end draw stuff ; MENÜ While Not modus = 1 ; hauptprog If modus = 2 Then Goto sprung If KeyHit(200) Then ;wenn cursor hoch... Cls x=1 DrawImage hintergrund ,0,0 DrawImage start ,200, 360 PlaySound piep EndIf If KeyHit(208) Then Cls x=2 DrawImage hintergrund ,0,0 ;wenn cursor runter... DrawImage quit,200, 425 PlaySound piep EndIf If x=2 And KeyHit(28) Then ; quit aktivieren modus = 1 EndIf If x=1 And KeyHit(28) Then ;start aktivieren modus = 2 EndIf Flip ;hauptprog ende Wend ; MENÜ ENDE! .sprung Print "lol" einige tipps wären sehr nett =P mfg |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmmm TIPP:
Code: [AUSKLAPPEN] menu=1
repeat if menu BLABLA CODE VOM MENÜ DER BEI nem klick menu=0 macht UND BEI NEM ANDEREN END else BLA BLA SPIEL CODE BOOM BANG auf escape menu=1 forever |
||
kadaj770 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
als anfänger versteh ich solch einen komplexen code nocht nicht ![]() ![]() etwas genauer vlt ^.^ |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
himmel IF benutzt du doch selbst... egal....
So das ist deine Hauptschleife: Code: [AUSKLAPPEN] Repeat
... Forever darein kommt etwas das immer entweder den menücode oder den gamecode abspielen lässt Code: [AUSKLAPPEN] menu=1;wir fangen mit dem menü an. du kannst auch 0 schreiben dann fängt dein spiel direkt ingame an
Repeat If menu;wenn die variable menu true/1 (drücke es aus wie du willst) ist Code Vom menü;das heißt die ganzen menübilder malen und wei halt dein menü aussieht. irfendwo fragst du dann ab ob man das spiel starten soll und wenn der player das tut musst du die vaiable menu auf 0/false setzen und zwar irgendwie so: if User_sagt_spiel_fängt_an then menu=0;oder eben menu=false Else;Else heißt "andernfalls" und bezieht sich auf das was bei if steht also wenn die variable nicht 1/true ist Hier kommt der code hin en man beim spielen benötigt will man aus em spiel heraus musst du die variable menu wieder auf 1/true setzten so zum beispiel: if keyhit(1) menu=1 Endif Forever |
||
kadaj770 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich wieder...
das menü funktioniert immer nur "auf einer seite" also wenn ich eine zeile mit der andren tausche funktioniert das mit dem starten des menüs und andersrum funktioniert das mit dem schließen -.- das farbige ist gemeint Graphics3D 800,600, 16, 2 SetBuffer BackBuffer() modus = 0 Global x=2 ; 1 = quit, 2 = ingame ; load stuff hintergrund = LoadImage("startmenü2.bmp") start= LoadImage("start.bmp") quit = LoadImage ("quit.bmp") piep =LoadSound("beep.wav") ; beim start - quit wechsel wechsel = LoadSound("") ; beim startdrücken ; end load stuff ;draw stuff DrawImage hintergrund ,0,0 ; hintergrund DrawImage start ,200, 360 ;start ;end draw stuff menüsound = PlayMusic("main.mp3") If modus =0 Then Repeat If modus =2 Then Goto spiel ; MENÜ ElseIf modus =1 Goto ende EndIf ; hauptprog If x=2 And KeyHit(28) Then ;start aktivieren modus = 2 ElseIf x=3 And KeyHit(28) Then ; quit aktivieren modus = 1 EndIf If KeyHit(200) ;wenn cursor hoch... x=2 Cls DrawImage hintergrund ,0,0 DrawImage start ,200, 360 PlaySound piep ElseIf KeyHit(208) Then Cls x=3 DrawImage hintergrund ,0,0 ;wenn cursor runter... DrawImage quit,200, 425 PlaySound piep EndIf Flip Forever EndIf ; MENÜ ENDE! .spiel Print"lol" .ende ; bitte um hilfe ;x |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Benutz bitte den Code Tag wenn du Code postest, damit du ihn korrekt mit Tabs / Leerschlägen formatieren kannst. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
https://www.blitzforum.de/foru...180#253180
und ersetzte das wort "Mausklick" durch "Tastendruck". Das basiert beides auf dem selben problem: keyhit&mousehit zeigen immer nur an ob seit dem letzten mal keyhit/mousehit geklickt wurde. Das zweite kehit würde bei dir also nur dann funktionieren wenn der user zwischen(!); Code: [AUSKLAPPEN] If x=2 And KeyHit(28) Then ;hier
modus = 2 ElseIf x=3 And KeyHit(28) Then ; und da modus = 1 EndIf klickt |
||
kadaj770 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hat sich nix geändert. hmm ![]() (im codetag konnte man nicht farbig und groß schreiben =P) |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
klar das war ja auch dein code -.- du sollst ihn so verändern wie im link beschrieben... | ||
kadaj770 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hä ? Oo nachdem ich es so gemacht habe wie im link beschrieben, ging es nicht, dann habe ich diesen beitrag geschrieben und nochmal den code untersucht. ich fand einen fehler und dann gings und dann editierte ich den beitrag aber jetzt ist er wieder nicht editiert ^^ | ||
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kuckt Dir mal unbedingt Select an, das könnte Dir arbeit ersparen und Deinen Code sauberer machen etc. ![]() |
||
Play Satyr! |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] kh28=KeyHit(28) If x=2 And kh28 Then ;start aktivieren modus = 2 ElseIf x=3 And kh28 Then ; quit aktivieren modus = 1 EndIf oder mit select: Code: [AUSKLAPPEN] if KeyHit(28)
select x case 2 modus=2 case 3 modus=1 End Select endif |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group