Meine nexte Frage:Wie erstelle ich ein Menü:?:
Übersicht

![]() |
ChesterBetreff: Meine nexte Frage:Wie erstelle ich ein Menü:?: |
![]() Antworten mit Zitat ![]() |
---|---|---|
HI@all
Mein 2 thread für heute ![]() naja...... So das ist diemal mein Problem: ![]() Wie kann ich ein Spielmenü erstellen ![]() SO das man auf das bild oder so draufklickt und man dann in einem anderen Menü ist. ![]() PS: kann man in BB includen ![]() |
||
![]() |
Slayer |
![]() Antworten mit Zitat ![]() |
---|---|---|
In etwas so:
Code: [AUSKLAPPEN] Graphics 640,480,16,2
SetBuffer BackBuffer() Function menu() FlushKeys ClsColor 100,10,100 While Not KeyHit(57) ;Space Taste Text 100,100,"Ich bin ein Menü" Text 100,130,"Zurück mit Space" Text 100,150,"Beenden mit Escape" If KeyHit(1) Then End Flip:Cls Wend FlushKeys ClsColor 0,0,0 End Function ;----------------------- While Not a = 1 If KeyHit(57) Then menu() Text 100,100,"Ich bin die Spieleschleife" Text 100,130,"Zum Menü mit Space" Text 100,150,"Beenden im Menü möglich" Flip:Cls Wend ;--------------------- |
||
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version |
![]() |
ChesterBetreff: aw |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und wie kann ich mit der maus das menü steuern?
Und eigentlich verwende ich : Graphics 640, 480, 16, 1 |
||
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich hab´s in meinem neuesten Projekt so gemacht, dass ich ein Schaltertyp definiert habe, und mir dann darauf meine function´s aufgebaut habe. Im Schalterfeld speichere ich 1. Das Schalterimage, 2. Das Schalterimage welches erscheint wenn der Schalter von der Maus berührt wird, 3. Die Position und 4. einen Befehl, der von meiner Funktion
execute_schalter(befehl$) ausgeführt wird. Also wenn der Schalter "Option" gedrückt wird, den ich vorher mit meiner "createschalter" funktion erstellt habe, wird der Befehl "option" an die Funktion execute_schalter weitergegeben, wodurch dann bestimmte Aktionen passieren. Code: [AUSKLAPPEN] Type schalter
Field image1 Field image2 Field pos_x# Field pos_y# Field befehl$ End Type Function createschalter(image1$,image2$,pos_x,pos_y,befehl$) schalter.schalter=New schalter schalter\image1=LoadImage("BG/"+image1) ;Das Standartbild vom Schalter MaskImage schalter\image1,255,0,255:MidHandle schalter\image1 schalter\image2=LoadImage("BG/"+image2) ; Das Bild welches angezeigt wird wenn man ihn mit der Maus berührt MaskImage schalter\image2,255,0,255:MidHandle schalter\image2 schalter\pos_x=pos_x schalter\pos_y=pos_y schalter\befehl=befehl End Function Function draw_schalter() For schalter.schalter=Each schalter If ImagesCollide(mouseimage1,Mouse_x,Mouse_y,0,schalter\image1,schalter\pos_x,schalter\pos_y,0) DrawImage schalter\image2,schalter\pos_x,schalter\pos_y If MouseHit(1) execute_schalter(schalter\befehl) Else DrawImage schalter\image1,schalter\pos_x,schalter\pos_y EndIf Next End Function Function mouse() Mouse_x=MouseX() Mouse_y=MouseY() End Function Function delete_all_schalter() For schalter.schalter=Each schalter Delete schalter Next End Function Function delete_only_schalter(commando$) For schalter.schalter=Each schalter If schalter\befehl=commando Delete schalter Next End Function Function execute_schalter(befehl$);Hier müssen alle Befehle eigegeben werden welche die Schalter ausführen können!!! Select befehl$ Case "start" delete_all_schalter() createschalter("New.png","New2.png",SCREEN_X/2,SCREEN_Y/8*3,"New_game") createschalter("load.png","load2.png",SCREEN_X/2,SCREEN_Y/8*4,"load_game") createschalter("back.png","back2.png",SCREEN_X/2,SCREEN_Y/8*5,"back1") Case "option" delete_all_schalter() createschalter("musik_s.png","musik_s.png",SCREEN_X/8,SCREEN_Y/8*3,"none") createschalter("on_sa.png","on_sa.png",SCREEN_X/8+150,SCREEN_Y/8*3,"Musik_on") createschalter("off_sa.png","off_sa.png",SCREEN_X/8+350,SCREEN_Y/8*3,"Musik_off") If Musik=1 createschalter("X_Knopf_green.png","X_Knopf_green.png",SCREEN_X/8+250,SCREEN_Y/8*3,"Musik_green") ElseIf Musik=0 createschalter("X_Knopf_red.png","X_Knopf_red.png",SCREEN_X/8+250,SCREEN_Y/8*3,"Musik_red") EndIf createschalter("effekte_s.png","effekte_s.png",SCREEN_X/8,SCREEN_Y/8*4,"none") createschalter("on_sa.png","on_sa.png",SCREEN_X/8+190,SCREEN_Y/8*4,"sound_effekte_on") createschalter("off_sa.png","off_sa.png",SCREEN_X/8+390,SCREEN_Y/8*4,"sound_effekte_off") If sound_effekte=1 createschalter("X_Knopf_green.png","X_Knopf_green.png",SCREEN_X/8+290,SCREEN_Y/8*4,"sound_effekte_green") ElseIf sound_effekte=0 createschalter("X_Knopf_red.png","X_Knopf_red.png",SCREEN_X/8+290,SCREEN_Y/8*4,"sound_effekte_red") EndIf createschalter("back.png","back2.png",SCREEN_X/2,SCREEN_Y/8*5,"back2") Case "Musik_on" Musik=1 ChannelVolume bg_music,Musik delete_only_schalter("Musik_red") createschalter("X_Knopf_green.png","X_Knopf_green.png",SCREEN_X/8+250,SCREEN_Y/8*3,"Musik_green") Case "Musik_off" Musik=0 ChannelVolume bg_music,Musik delete_only_schalter("Musik_green") createschalter("X_Knopf_red.png","X_Knopf_red.png",SCREEN_X/8+250,SCREEN_Y/8*3,"Musik_red") Case "sound_effekte_on" sound_effekte=1 ChannelVolume bg_sound_effekt,sound_effekte delete_only_schalter("sound_effekte_red") createschalter("X_Knopf_green.png","X_Knopf_green.png",SCREEN_X/8+290,SCREEN_Y/8*4,"sound_effekte_green") Case "sound_effekte_off" sound_effekte=0 ChannelVolume bg_sound_effekt,sound_effekte delete_only_schalter("sound_effekte_green") createschalter("X_Knopf_red.png","X_Knopf_red.png",SCREEN_X/8+290,SCREEN_Y/8*4,"sound_effekte_red") Case "credits" delete_all_schalter() createschalter("credits_list.png","credits_list.png",SCREEN_X/2,SCREEN_Y/3*1.1,"none") createschalter("back.png","back2.png",SCREEN_X/2,SCREEN_Y/8*7,"back1") Case "exit" End Case "back1";Erstellt wieder das Hauptmenü delete_all_schalter() createschalter("start.png","start2.png",SCREEN_X/2,SCREEN_Y/8*3,"start") createschalter("option.png","option2.png",SCREEN_X/2,SCREEN_Y/8*4,"option") createschalter("credits.png","credits2.png",SCREEN_X/2,SCREEN_Y/8*5,"credits") createschalter("exit.png","exit2.png",SCREEN_X/2,SCREEN_Y/8*6,"exit") Case "back2";Erstellt wieder das Hauptmenü und speichert optionen option_datei=WriteFile("data\option.ini") WriteLine option_datei,SCREEN_X WriteLine option_datei,SCREEN_Y WriteLine option_datei,GRAPH_DEEPT WriteLine option_datei,GRAPH_MODUS WriteLine option_datei,Musik WriteLine option_datei,sound_effekte WriteLine option_datei,";" WriteLine option_datei,"Das erste ist für die Bildschirmbreite" WriteLine option_datei,"Das zweite ist für die Bildschirmhöhe" WriteLine option_datei,"Das dritte ist für die Grafiktiefe" WriteLine option_datei,"Das vierte ist für den Modus (1 Vollbild, 2 full windowed, 3 mini windowed)" WriteLine option_datei,"Das fünfte ist für die Musik (0=aus, 1=an)" WriteLine option_datei,"Das sechste ist für die Soundeffekte (0=aus, 1=an)" CloseFile option_datei delete_all_schalter() createschalter("start.png","start2.png",SCREEN_X/2,SCREEN_Y/8*3,"start") createschalter("option.png","option2.png",SCREEN_X/2,SCREEN_Y/8*4,"option") createschalter("credits.png","credits2.png",SCREEN_X/2,SCREEN_Y/8*5,"credits") createschalter("exit.png","exit2.png",SCREEN_X/2,SCREEN_Y/8*6,"exit") Case "none";Lückenfüller End Select End Function Allerdings würde ich dir empfehlen für deine Spiele ein angepasstes Menü zu erstellen und dir selbst etwas Gedanken zu machen. |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
- Zuletzt bearbeitet von Firstdeathmaker am Do, Jul 22, 2004 15:34, insgesamt einmal bearbeitet
![]() |
Paul |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich mahce das (furchtbarerweise) mit ineinandergeschachtelten While-Schleifen:
Code: [AUSKLAPPEN] While Keyhit(1)=0 cls If mousehit(1) and [Buttonkollision] then while keyhit(1)=0 cls spiel() flip wend endif flip wend is nicht sonderlich schön, aber funzt zum Includen: es gibt den Befehl Include "Dateiname" damit kannst du den Source auf mehrere Datein verteilen. (sehr nützlich) Paul |
||
Stratocaster black - Roland MicroCube
User posted image Girgl-World, wer's nich kennt, is' blöd! |
![]() |
Slayer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Und wie kann ich mit der maus das menü steuern?
Jo, alles kann ich Dir nicht abnehmen ![]() Es kommt darauf an, gibt verschiedene Möglich keiten, z.b. Mit imagesoverlap() , dort prüfst Du ob die maus(curser) auf dem Button steht, bzw. ein Collision statt findet, wenn man nun auch noch ne Maustaste wärend der Collision drückt solll ein wert zurück gegeben werden. Von mir aus a = 1 Und wenn jetzt die Menüschleife so geschrieben ist: Code: [AUSKLAPPEN] While not a = 1
wend Dann wird die schleife wieder beendet und Du kommst wieder ins spiel. Zitat: Und eigentlich verwende ich : Graphics 640, 480, 16, 1
Die 1 am schluss bedeutet das Du es im Vollbild modus laufen läst. 2 = Fenster Modus 3 = Fenster Modus Skaliebar Hast Du noch nicht die Deutsche Hilfe von TheShadow ?? Dann lade Ssie Dir dringend runter,http://www.blitzbase.de , die ist Pflicht ![]() |
||
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version |
![]() |
ViciouS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich mus sagen: Ich finde diesen Thread sowieso irgendwie peinlich...
-Wie mache ich ein Menü? -Und wie kann ich mit der maus das menü steuern? -Und eigentlich verwende ich : Graphics 640, 480, 16, 1 Wenn du nicht mal in der Lage bist n Menübeospiel auf deine Auflösung umzustellen vergisses lieber n Spiel zu machen oder lerne einfach erstmal... Sry, aber das wäre wohl sowieso noch von irgendjemandem gekommen |
||
Skaten ist scheisse...
Bilanz: 3 Knochenbrüche in 4 Jahren... und es werden mehr ![]() |
![]() |
Slayer |
![]() Antworten mit Zitat ![]() |
---|---|---|
ViciouS hat Folgendes geschrieben: Sry, aber das wäre wohl sowieso noch von irgendjemandem gekommen Jo, da kenn ich einen, ein Verdammt "Heises Bit" ![]() Sorry, konnts mir nicht verkneifen ![]() |
||
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version |
![]() |
Chester |
![]() Antworten mit Zitat ![]() |
---|---|---|
ViciouS hat Folgendes geschrieben: -Wie mache ich ein Menü? -Und wie kann ich mit der maus das menü steuern? -Und eigentlich verwende ich : Graphics 640, 480, 16, 1 Erstens: Ich weiß was der Befehl Graphics bedeutet ![]() Zweitens: Ich kannte den Befehl nicht um ein Bild auf eine Kollision zu prüfen(ich kannte zwar ein paar, aber die wären für den zweck nicht so gut gewesen) Drittens : Habe ich noch nie in einem Tutorial gelesen wie man ein stinknormales menü macht ![]() |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was kommt als nächstes? 'Wie mache ich ein Spiel zum meinem Menü?' Die Aufgabe des Computers ist es die Befehle auszuführen, Deine Aufgabe ist es selbige in eine logische Reihenfolge zu bringen. Bei Problemen im Detail wird Dir hier sicher gerne geholfen, aber so macht man sich keine Freunde ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
IronstormErstklassiger Contest-Veranstalter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde sagen:
Code: [AUSKLAPPEN] Graphics 640,480 setbuffer backbuffer() maus=loadimage("maus.png") startbutton=loadimage("startbutton.png") repeat cls X=mousex() Y=mouseY() if imagerectoverlap(maus,X,Y,100,100,100,100) and mousehit(1) then gosub untermenü drawimage startbutton,100,100 drawimage maus,X,Y flip until keydown(1) end |
||
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group