Seite 1 von 2
Gadget in Blitz3D Fenster "einschleusen"
Verfasst: 19.03.2009 16:48
von E-P-S
Hi zusammen,
ich hab ne ungewöhnliche Frage. Ist es möglich, genauer wie ist es möglich, ein Gadget (Button, Panel etc.) in ein Blitz3D Fenster "einzuschleusen".
Hintergrund: Ich möchte gerne eine DLL erstellen die ich von Blitz3D aus aufrufe und die mir
über meinen 3D Screen ein Panel o.ä. anzeigt.
Momentan habe ich einfach versucht einen Button im Blitz3D Fenster zu erzeugen - was auch funktioniert. Allerdings verschwindet dieser natürlich sobald in Blitz3D der FLIP Befehl ausgeführt wird.
Dann habe ich versucht durch
Code: Alles auswählen
InvalidateRect_( BBhWnd, 0, 1 )
UpdateWindow_( BBhWnd )
nach dem FLIP ein Redraw des Fensters auszulösen. Das komische hierbei: Im Prinzip geht das, solange meine Anwendung in der Bildschirmmitte ist. Befindet sich das Fenster am oberen Bildschirmrand verschwindet der Button wieder und etwas darunter flimmert er - was mich auf ein Synchronisationsproblem schließen lässt und die Vermutung nahe legt das dies nicht so ganz der richtige Weg sein könnte.
Hat jemand eine Idee - vielen Dank.
Verfasst: 19.03.2009 17:13
von Fluid Byte
ich hab ne ungewöhnliche Frage. Ist es möglich, genauer wie ist es möglich, ein Gadget (Button, Panel etc.) in ein Blitz3D Fenster "einzuschleusen".
Gar nicht. Du brauchst ein ScreenGUI.
Verfasst: 19.03.2009 17:43
von E-P-S
Nun, dazu muß ich sagen das es eine GUI für Blitz3D gibt "WinBlitz3D" wo genau das gemacht wird, also denke ich DAS ES GEHT. Die Frage ist nur - wie?
Verfasst: 19.03.2009 17:49
von Kaeru Gaman

das
ist ein ScreenGUI bzw. ein 3D-GUI.... und kein Standard-Windows-GUI.
guck mal in die PB-Help, Kapitel Window3D...
... und ohne Aufpreis noch nen blöden Spruch:
das Denken soll man den Pferden überlassen, die haben größere Köpfe...
Verfasst: 19.03.2009 17:58
von E-P-S
Also 1. ist das KEIN ScreenGUI, sondern Elemente der Windows API, und 2. wo finde ich bitte ein Kapitel "Window3D" in der PB-Hilfe???
Nachtrag: Vielleicht reden wir ja aneinander vorbei: Das ist ein Screenshot von einem WinBlitz3D Sample:
Diese Elemente sind nicht durch Linien, Rechtecke oder Bilder erzeugt, sondern durch WinAPI Elemente.
Verfasst: 19.03.2009 18:04
von Kaeru Gaman
> 1. ist das KEIN ScreenGUI, sondern Elemente der Windows API
glaub ich nicht!
nur weil es von weitem aussieht wie eine Ente, muss es noch lange keine sein.
> 2. wo finde ich bitte ein Kapitel "Window3D" in der PB-Hilfe???
3D Spiele & Multimedia Libraries
Engine3D
Billboard
Camera
Entity
Gadget 3D
Light
Material
Mesh
Node
Particle
Sound 3D
Terrain
Texture
Window 3D
http://www.purebasic.com/german/documen ... index.html
Verfasst: 19.03.2009 18:08
von E-P-S
Siehe nochmal Thread oben drüber
Zu "Window3D" - danke für den Tipp, manchmal sieht man echt die Bäume vor lauter Wald nicht.
und nochwas...wer meinen ersten Beitrag mal durchliest: Bis auf das flimmern des Buttons hab ich es selbst ja auch hinbekommen !
Verfasst: 19.03.2009 18:17
von Kaeru Gaman
wie du selber siehst gibt es synchronisationsprobleme wenn man Std-API elemente auf DX oder oGL Buffern verwenden will.
im Allgemeinen ist es einfach unpraktisch,
den riesen-Aufwand zu treiben die API-Elemente auf einen Game-Kontext zu bekommen,
dafür sehen die viel zu billig und scheiße aus.
was deinen Screenshot betrifft: das sieht für mich nicht nach API aus.
wenn ich mir deine Kopfleiste ansehe, erwarte ich kleinere Schrift und eventuell sogar andere Schriftart.
das sieht aus wie von Win98 abgekupfert und einfach beibehalten.
und falls es tatsächlich über API ist, dann hat sich der Aufwand,
den die dafür treiben mußten, nicht im mindesten gelohnt,
denn es sieht wirklich scheiße aus.
für mich persönlich wäre es zig mal weniger Aufwand,
ein in meine normale ScreenOberfläche integriertes GUI zu erstellen,
tausend mal schöner und nicht ansatzweise ein Sync-Problem.
Verfasst: 19.03.2009 18:26
von E-P-S
Also der Fensterrahmen kommt daher das ich mein WindowsXP in der klassischen Ansicht betreibe
Die Sache mit dem "hässlich" - da stimme ich dir zu, es sieht verdammt hässlich aus. Aber darum geht es mir ja gar nicht.
Ich will ja hier nicht erörtern was schön oder unschön ist, ich möchte gerne wissen wie die das wohl gemacht haben, auch wenn der Aufwand beträchtlich ist/wäre.
Verfasst: 19.03.2009 18:46
von Kaeru Gaman
je mehr ich drüber nachdenke, ich hab da schon mal beispiele zu gesehen,
die sahen auch so aus, weil die tatsächlich irgendwelche Win98 aufrufe benutzen.
zum Fachsimpeln, sorry, keine Ahnung wie Blitz das macht....
wenn du nen Refresh direkt in deinen Flip-Aufruf einbaust und den auch noch ganz straight syncst, bekommst du bestimmt auch das Flackern weg.