Frage zu meiner GUI
Übersicht

![]() |
Mathias-KwiatkowskiBetreff: Frage zu meiner GUI |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi für mein game muss cih gui fenster haben, das problem ist, das man durch meine fenster durchklicken kann, ich weiss keinen rat mehr, woran das liegen könnte, kann mir jemand helfen, vll codeauschnitt...
mein code hier Code: [AUSKLAPPEN] Global WindowList:TList = New TList
Global Window:TWindow Type TWindow Field Mode:Int Field Name:String Field X:Int Field Y:Int Field Width:Int Field Height:Int Field WID:String Function Create(Name:String, x:Int, y:Int, width:Int, height:Int, wid:String) Window:TWindow = New TWindow Window.name = name Window.x = X Window.y = Y Window.Width = Width Window.Height = Height Window.WID = wid WindowList.Addlast Window End Function EndType Function DrawWindow() For Window:TWindow = EachIn WindowList If Window.Mode = 0 Then SetAlpha 0.4 SetBlend ALPHABLEND End If SetColor WindowR, WindowG, WindowB DrawRect Window.X + ImageWidth(WindowIMG3), Window.Y + ImageHeight(WindowIMG0), Window.Width + ImageWidth(WindowIMG0) - ImageWidth(WindowIMG3), Window.Height - ImageHeight(WindowIMG0) SetColor 255, 255, 255 DrawImage WindowIMG0, Window.X, Window.Y, 0 For x = Window.X + ImageWidth(WindowIMG0) To Window.X + Window.Width - 1 DrawImage WindowIMG1, x, Window.Y DrawImage WindowIMG6, x, Window.Y + Window.Height Next DrawImage WindowIMG2, Window.X + Window.Width, Window.y For y = Window.Y + ImageHeight(WindowIMG0) To Window.Y + Window.Height - 1 DrawImage WindowIMG3, Window.x, y DrawImage WindowIMG4, Window.X + Window.Width + ImageWidth(WindowIMG0) - ImageWidth(WindowIMG3), y Next DrawImage WindowIMG5, Window.X, Window.Y + Window.Height DrawImage WindowIMG7, Window.X + Window.Width, Window.Y + Window.Height SetColor WindowTitelR, WindowTitelG, WindowTitelB DrawText Window.Name, Window.X + 7, Window.Y + 4 If Window.Mode = 0 Then SetAlpha 1 SetBlend MASKBLEND End If If MouseDown(1) And Not (MouseX() < Window.x And MouseX() > Window.x + Window.Width And MouseY() < Window.y And MouseY() > Window.y + Window.Height) Then If Window.mode = 1 Then Window.mode = 0 EndIf EndIf If MouseDown(1) And MouseX() > Window.X And MouseX() < Window.X + Window.Width And MouseY() > Window.Y And MouseY() < Window.Y + Window.Height And UnderWindow(Window.WID, Window.X, Window.Y, Window.Width, Window.Height) = 1 Then If Window.mode = 0 Then WindowList.Remove Window WindowList.AddLast Window Window.mode = 1 End If End If Next End Function Function UnderWindow(WindowWID:String, x, y, w, h) For Window:TWindow = EachIn WindowList If Window.WID = WindowWID Then If MouseX() > Window.X And MouseX() < Window.X + Window.Width And MouseY() > Window.Y And MouseY() < Window.Y + Window.Height Then Return 1 EndIf EndIf Next Return 0 End Function Function StartGUI() DrawWindow() End Function Graphics 1024, 768 TWindow.Create("Testfenster 0", 50, 50, 200, 180, "Cyber") TWindow.Create("Testfenster 1", 80, 80, 200, 180, "Cyber1") Repeat Cls StartGUI() Flip Until KeyDown(KEY_ESCAPE) End |
||
Shark |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Was mir bei deinem Code auffällt ist dieser Teil. Es scheint mir so als wären die zwei Abfragen Identisch! Code: [AUSKLAPPEN] If MouseDown(1) And Not (MouseX() < Window.x And MouseX() > Window.x + Window.Width And MouseY() < Window.y And MouseY() > Window.y + Window.Height) Then
If Window.mode = 1 Then Window.mode = 0 EndIf EndIf If MouseDown(1) And MouseX() > Window.X And MouseX() < Window.X + Window.Width And MouseY() > Window.Y And MouseY() < Window.Y + Window.Height And UnderWindow(Window.WID, Window.X, Window.Y, Window.Width, Window.Height) = 1 Then If Window.mode = 0 Then WindowList.Remove Window WindowList.AddLast Window Window.mode = 1 End If End If Code: [AUSKLAPPEN] If Mousedown(1) and MouseX()> blah
ist das gleiche wie Code: [AUSKLAPPEN] If MOusedown(1) and Not Mousex()< blah
Ich hoffe, dass es dir weiter hilft mfg Shark |
||
c64 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi Mathias,
Wenn du ein, stabilen Core benötigst und einfach nur schnell Gadgets Coden möchtest, schau dir doch ma bitte mein CoreGUI an. Du kannst auch dein komplett eigenes Gadgetset einbinden und musst nicht das von CoreGUI nutzen. mfg. c64 |
||
Betreten verboten! Kinder haften für ihre Eltern! |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke C64 das werde ich auf jedenfall machen. den es geht mir nicht drum ne gui zu proggen sondern eine zu nutzen ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sonst gibt es auch noch die HighGUI um eine freierhältliche Möglichkeit in BM zu nennen | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja nur der download link ist tot
http://www.tiscali.co.uk/servi...e/404.html und habe keine neue addy gefunden, auch nicht über die suchfunktion |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Und was genau soll da für ne File gelegen haben??
HighGui wär unter http://highgui3.com/ zu finden CoreGui unter http://www.feuerware.com/team/....php?id=21 |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
c64 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
PS: CoreGUI ist auch absolut frei und bleibt es auch !!! auch das Standard GadgetSet, was stetig erweitert und gepflegt wird. Und es hat n Forum wo rel. schnell geholfen wird. Dennoch HighGUI wird sicher auch keine schlechte wahl sein.
mfg. c64 |
||
Betreten verboten! Kinder haften für ihre Eltern! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group