InGame Gui
Übersicht BlitzMax, BlitzMax NG Codearchiv & Module
Mathias-KwiatkowskiBetreff: InGame Gui |
Di, Dez 22, 2015 19:33 Antworten mit Zitat |
|
---|---|---|
Hi Leute ich möchte euch hier und heute so kurz vor Weihnachten meine noch unfertige GUI Präsentieren.
Es gibt und gab in der Vergangenheit viele GUI's und alle brauchten Bilder um z.b. Fenster dazustellen, aus diesem Grund habe ich versucht eine zu erstellen wo keine externen Bilder ect. benötigt werden. Ob es nun sinnvoll ist oder nicht und ob es zum Style passt oder nicht, muss jeder für sich selbst entscheiden. Diese lässt sich zumindest weitgehend Farblich anpassen, auch ist die Befehlskette sehr leicht verständlich gemacht. (HOFFE ICH) Was kann die GUI bis jetzt? - Window - Slider / In Fenster , Auf Desktop - ListBox / In Fenster , Auf Desktop - Buttons / In Fenster , Auf Desktop - Labels / In Fenster , Auf Desktop zu Buttons, dort habe ich bis lang nur 2 Variationen einmal wäre es der Standard Button den jeder kennt. Die zweite Variante wäre es ein Bild als Button zu benutzen. zu Labels, Auch hier kann man entscheiden einfach nur Text anzeigen zu lassen oder eben einen Mausklick bzw MouseOver abzufragen. Zu ListBox, Diese ListBox ist nichts besonderes, möchte aber erwähnen das man hier Text oder Bilder anzeigen lassen kann. Jedes ListBox Item kann ein anderes Image + Tile enthalten, auch kann es später modifiziert werden, (wie das meiste aus der GUI) Eine Dokumentation liegt im Modul bei, (Also F1 für Hilfe) Das Sample was dabei liegt ist ebenfalls dokumentiert, allerdings so das ich es in 10 Jahren noch verstehen würde. … hoffe es hilft weiter. Im ZIP Archiv befindet sich das Modul + Examples, +Images fürs Examples + Font fürs Examples das Archiv ist ca. 1,5 MB groß. WICHTIG! Was Geht nicht? .... Window in Window bzw Gadget in Gadget Ein Bild... Der Download: https://www.blitzforum.de/upload/file.php?id=13097 Dieses Example liegt in der Zip bei. Code: [AUSKLAPPEN] SuperStrict
Import maxbase.gui '########################################## ' Main Scope '########################################## Graphics 1200, 900 SetImageFont LoadImageFont("Arimor.ttf", 12) 'Standart Farbeinstellung auf Rot ändern SetGuiColor (255, 0, 0) Local TestF1:TWindow = NewWindow("Mathias", 50, 50, 250, 180) Local TestF2:TWindow = NewWindow("Mathias 1", 70, 70, 250, 180, 1) Local TestF3:TWindow = NewWindow("Mathias 3", 90, 90, 250, 180, 1) Local ButB1:TButton = NewButton("Beenden", 100, 100, 70, 20) Local ButB2:TButton = NewButton("Button2", 10, 10, 70, 20, testf1) 'Fenster Farbe neu definieren TestF2.Color(0, 255, 255) 'Fenster Blau malen lassen TestF1.Color(255, 255, 0) 'Fenster 1 Gelb malen lassen ButB2.Color (255, 255, 0) 'Button farblich dem Fenster anpassen 'ImageButton Local Img_Button:TImage = LoadAnimImage("Img_Button.png", 70, 25, 0, 2) Local ButB3:TButton = NewImageButton(Img_Button, 0, 100, 130) Local ButB4:TButton = NewImageButton(Img_Button, 0, 10, 40, testf1) 'Label erstellen (mit mouse over funktion -wenn man will) Local LabL1:TLabel = NewLabel("MouseOver", 100, 160) Local LabL2:TLabel = NewLabel("MouseOver", 10, 65, testf1) 'Slider Horizontal / Vertikal + Desktop / Fenster Local SLiS1:TSlider = NewSlider(200, 50, 15, 100) Local SLiS2:TSlider = NewSlider(220, 50, 100, 15, 1) Local SLiS3:TSlider = NewSlider(10, 10, 15, 100, 0, testf2) Local SLiS4:TSlider = NewSlider(40, 10, 100, 15, 1, testf2) 'Sldier Range festlegen SliderRange(SLiS1, 1, 10) SliderRange(SLiS2, 1, 2) SliderRange(SLiS3, 1, 5) SliderRange(SLiS4, 1, 8) SLiS2.color(255, 255, 0) 'ListBox Desktop Local LBoxL1:TlistBox = newlistbox(100, 300, 130, 220) For Local Z:Int = 0 To 30 ADDListBoxEnemy (LBoxL1, "Mathias " + Z) Next Local InListBox:TListBox = ADDListBoxEnemy (LBoxL1, "Beenden") Local Resume1:TListBox = ADDListBoxEnemy (LBoxL1, "DeleteME 1") Local Resume2:TListBox = ADDListBoxEnemy (LBoxL1, "DeleteME 2") 'ListBox Fenster Local Img_X:TImage = LoadAnimImage("Img_X.png", 16, 16, 0, 2) Local LBoxL2:TListBox = NewListBox(30, 30, 130, 95, 255, 255, 255, TestF2) SeedRnd(MilliSecs()) For Local Z:Int = 0 To 8 ADDListBoxEnemy (LBoxL2, "Zwei " + Z, Img_X, Rnd(0, 2)) Next Local InListBox2:TListBox = ADDListBoxEnemy (LBoxL2, "Beenden") 'Background Image erstellen Local B:Float, ImageBG:TImage = CreateImage(DesktopWidth() + 1, DesktopHeight() + 1) For Local X:Int = 0 To GraphicsWidth() SetColor 0, 0, B DrawOval (X, 0, X, GraphicsHeight()) B = B + 0.1 Next GrabImage ImageBG, 0, 0 Local LetzteAnzeige:String Repeat Cls DrawImage ImageBG, 0, 0 If UpdateGui() = 0 Then 'Hier kommen alle Updatewerte vom eigenem Programm rein 'zu bedenken ist immer im das MausUpdates nur ausgefürt werden sollten 'im eigenem Programm wenn GuiUpdate = 0 ist. End If 'Die Gui sollte jedoch ausserhalb der Gui Update geprüft werden. 'den dazu ist diese ausgelegt. If ButtonPress(ButB1) = 1 Then End If ButtonPress(ButB2) = 1 Then LetzteAnzeige = "Du hast Button Fenster 1 gedrückt" If ButtonPress(ButB3) = 1 Then LetzteAnzeige = "Du hast Button Image Desktop 1 gedrückt" If ButtonPress(ButB4) = 1 Then LetzteAnzeige = "Du hast Button Image Fenster 1 gedrückt" 'Wenn man über die image Button fährt mit der maus sollen diese sich 'anpassen. If ButtonOver(ButB3) = 1 Then ButB3.SetTile 1 Else ButB3.SetTile 0 If ButtonOver(ButB4) = 1 Then ButB4.SetTile 1 Else ButB4.SetTile 0 'Wenn man über die Labels mit der maus geht sollen die sich farblich ändern If LabelOver(LabL1) = 1 Then LabL1.Color 255, 255, 0 Else LabL1.Color 255, 255, 255 If LabelOver(LabL2) = 1 Then LabL2.Color 255, 255, 0 Else LabL2.Color 255, 255, 255 'Check ob auf einem Label gedrückt wurde. If LabelPress(LabL1) = 1 Then LetzteAnzeige = "Du hast Label 1 Desktop gedrückt" If LabelPress(LabL2) = 1 Then LetzteAnzeige = "Du hast Label 1 Fenster gedrückt" DrawText LetzteAnzeige, 0, 0 'ListBoxCheck Desktop Select SelectListBox(LBoxL1) Case InListBox End Case Resume1 REMListBoxEnemy(LBoxL1, Resume1) Case Resume2 REMListBoxEnemy(LBoxL1, Resume2) EndSelect 'ListBoxCheck Fenster2 Select SelectListBox(LBoxL2) Case InListBox2 End EndSelect DrawText "Slider Desktop Horizontal Wert: " + Int(GetSliderRange(SLiS1)), 0, 20 DrawGui Flip Until AppTerminate() End Es würde mich freuen wenn es jemand gebrauchen kann. oder eben Rückmeldung zu bekommen. Ansonsten ein Frohes Weihnachtsfest 2015. |
||
Skype: Anarchie1984
http://projektworks.de/maxbase/ Icq - Erneuert am 21.08.2017 Yahoo - Erneuert am 21.08.2017 |
Übersicht BlitzMax, BlitzMax NG Codearchiv & Module
Powered by phpBB © 2001 - 2006, phpBB Group