Cooles Übersichtlich Programmiertes Menü von Mir dem Großen
Übersicht

![]() |
UnpluggedBetreff: Cooles Übersichtlich Programmiertes Menü von Mir dem Großen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, die Überschrift vergesst einfach mal...
Ein kleines Menü: Die Goto, Gosub oder Funktionen lassen sich ja in die If-Abfragen einbauen. Code: [AUSKLAPPEN] Graphics 800,600 : AppTitle "Kleines Menü" SetBuffer BackBuffer() : ClsColor 0,100,100 Repeat Cls wertcredits = RectsOverlap (50,50,400,50,MouseX()-10,MouseY()-10,10,10) wertspiel = RectsOverlap (50,150,400,50,MouseX()-10,MouseY()-10,10,10) wertende = RectsOverlap (50,250,400,50,MouseX()-10,MouseY()-10,10,10) If wertcredits = 0 Then Color 0,0,0 : Rect 50,50,400,50 : Color 255,255,0 :Text 60,60,"Credits" EndIf If wertcredits = 1 Then Color 255,255,0 : Rect 50,50,400,50 : Color 0,0,0 :Text 60,60,"Credits" EndIf If wertspiel = 0 Then Color 0,0,0 : Rect 50,150,400,50 : Color 255,255,0 :Text 60,160,"Spiel" EndIf If wertspiel = 1 Then Color 255,255,0 : Rect 50,150,400,50 : Color 0,0,0 :Text 60,160,"Spiel" EndIf If wertende = 0 Then Color 0,0,0 : Rect 50,250,400,50 : Color 255,255,0 :Text 60,260,"Ende" EndIf If wertende = 1 Then Color 255,255,0 : Rect 50,250,400,50 : Color 0,0,0 :Text 60,260,"Ende" EndIf Color 0,0,255 : Rect MouseX()-10,MouseY()-10,10,10 Flip Until MouseHit(1) |
||
User posted image |
![]() |
rambo256 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also sry,für sowas ist das Codearchive nicht gedacht.
Menüs gibbet schon wie Sand am Meer. -.- |
||
Asus F53z
Das Leben ist eine reine Konkatenation... |
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
Unplugged |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry, wenn der Post nicht passend ist, war klar dass dieser Post mal wieder Irgendjemand unangenehm juckt, der dann wieder sagen muss, dass es nicht passt und soweiter, aber ist das Codearchiv nicht dafür da?
@Turtle: Gute Idee ![]() |
||
User posted image |
Kekskiller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Manchmal gibt es Zeiten, in denen bei die Flameader durchkommt ![]() Aber hier macht das keinen Spaß, sowas kann ja wirklich jeder, der sich zwei, drei Tage mit BB beschäftigt... |
||
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieht eigendlich eher nach einer unfertigen Button-Funktion aus. Hier mal was aus meinem Archiv.
Code: [AUSKLAPPEN] Graphics 400,350,16,2 SetBuffer BackBuffer() AppTitle "Buttons" Repeat ClsColor 0,0,100 Cls Text 0,00, "BUTTON A GEDRÜCKT: " + Button(100,100,100,20,"OK") Text 0,10, "BUTTON B GEDRÜCKT: " + Button(100,130,100,20,"ABBRUCH") Text 0,20, "BUTTON C GEDRÜCKT: " + Button(100,160,100,20,"IGNORIEREN") Flip Until KeyHit(1) End Function Button(x,y,w,h,Text$) If h < FontHeight() Then h = FontHeight() If w < StringWidth(Text$) Then w = StringWidth(Text$) Color 255,255,255 If MouseOver(x,y,w,h) And MouseDown(1) Then Color 100,100,100: d = 1 Rect x,y,w,h,1 Color 100,100,100 If MouseOver(x,y,w,h) And MouseDown(1) Then Color 255,255,255 Rect x+1, y+1, w-1, h-1,1 Color 198,198,198 If MouseOver(x,y,w,h) EndIf Rect x+1, y+1, w-2, h-2,1 Color 0,0,0 Text x + w/2 - (StringWidth(Text$)/2), y + h/2 - (FontHeight()/2) + d, Text$ If MouseOver(x,y,w,h) And MouseDown(1) Then Return 1 End Function Function MouseOver(x,y,w,h) If MouseX() > x And MouseX() < x+w And MouseY() > y And MouseY() < y+h Then Return 1 End Function |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
![]() |
UnpluggedBetreff: Ich hab nochn bisschen getüftelt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 800,600 : AppTitle "Kleines Menü" SetBuffer BackBuffer() : ClsColor 0,0,0 font = LoadFont("trebuchet ms",20,0,0,0) : SetFont font Repeat Cls For i = 1 To 500 Color i/11,i/3,i/11 Line i,0,i,600 Next wertcredits = RectsOverlap (50,50,400,50,MouseX()-10,MouseY()-10,10,10) wertspiel = RectsOverlap (50,150,400,50,MouseX()-10,MouseY()-10,10,10) wertende = RectsOverlap (50,250,400,50,MouseX()-10,MouseY()-10,10,10) If wertcredits = 0 Then Color 0,0,0 : Rect 50,50,400,50 : Color 255,255,0 :Text 60,60,"Credits" EndIf If wertcredits = 1 Then Color 255,255,0 : Rect 50,50,400,50 : Color 0,0,0 :Text 60,60,"Credits" Color 255,255,0 Text 600,100,"Menu by Unplugged" EndIf If wertspiel = 0 Then Color 0,0,0 : Rect 50,150,400,50 : Color 255,255,0 :Text 60,160,"Spiel" EndIf If wertspiel = 1 Then Color 255,255,0 : Rect 50,150,400,50 : Color 0,0,0 :Text 60,160,"Spiel" Color 255,255,0 Text 600,100,"Mache ein Spiel!" EndIf If wertende = 0 Then Color 0,0,0 : Rect 50,250,400,50 : Color 255,255,0 :Text 60,260,"Ende" EndIf If wertende = 1 Then Color 255,255,0 : Rect 50,250,400,50 : Color 0,0,0 :Text 60,260,"Ende" Color 255,255,0 Text 550,100,"Willst du das Spiel verlassen?" EndIf Color 255,255,255 : Oval MouseX()-20,MouseY()-20,20,20 Flip Until MouseHit(1) |
||
User posted image |
![]() |
Spikespine |
![]() Antworten mit Zitat ![]() |
---|---|---|
Den Verlauf würd ich eher als Bild speichern, geht schneller. | ||
![]() |
DivineDominion |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke!!!! Endlich konnte ich mein Menü verbessern!!!!
Code: [AUSKLAPPEN] Type TGSMenu Extends TGameState
Field iCursorPos:int, iCursorTimer:int Method enter( ) EndMethod Method process:Int( iTime:int ) Rem Leertaste ist zum bestätigen gedacht. Liefert dann den passenden Gamestate-Wert für die Menüpunkte. EndRem If KEYMANAGER.isHit( KEY_SPACE ) Select Self.iCursorPos Case 0 Return GS_ULTIMAONLINE Case 1 Return GS_WILDARMS Case 2 Return -1 EndSelect EndIf Rem Einzelne Anschläge können beliebig schnell ausgeführt werden. Teste das hier nur schon mal für das WA-Itemding :) EndRem If KEYMANAGER.isHit( KEY_DOWN ) Self.iCursorPos :+ 1 Self.iCursorTimer = MilliSecs( ) + 600 ElseIf KEYMANAGER.isHit( KEY_UP ) Self.iCursorPos :- 1 Self.iCursortimer = MilliSecs( ) + 600 EndIf Rem Um gedrückt halten zu können muss die Frist abgelaufen sein, damit es nicht einfach so vorüber huscht. EndRem If MilliSecs( ) > Self.iCursorTimer If KEYMANAGER.isDown( KEY_DOWN ) Self.iCursorPos :+ 1 Self.iCursorTimer = MilliSecs( ) + 60 ElseIf KEYMANAGER.isDown( KEY_UP ) Self.iCursorPos :- 1 Self.iCursorTimer = MilliSecs( ) + 60 EndIf EndIf Rem Wenn man über die Ränder hinausscrollen würde, wird die Position zurückgesetzt. endrem If Self.iCursorPos > 2 Self.iCursorPos = 0 ElseIf Self.iCursorPos < 0 Self.iCursorPos = 2 endif 'Menü Malen Self.draw( ) EndMethod Method leave( ) EndMethod Method draw( ) DrawText "Ultima Online", 140, 100 DrawText "Wild Arms", 140, 130 DrawText "Raus hier!", 140, 160 DrawRect 100, 100 + Self.iCursorPos * 30, 20, 10 EndMethod EndType |
||
christian.tietze@gmail.com - https://christiantietze.de
macOS |
Kekskiller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das nenn ich mal offene Ironie! | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group