Registriert: So Mai 11, 2003 10:36 Beiträge: 285 Wohnort: Oldenburg
Programmiersprache: Object Pascal
Naja, eigentlich müsste bei einer Hintergrund Animation nur ständig neu gezeichnet werden. Sonst halt nur wenn sich eine Komponente verändert hat. So mache ich das zum größten Teil... Bei meiner GUI.
Aber wir sollten echt überlegen ob wir nicht versuchen sollte uns zusamen zu setzten und ein Gemeinschaft Projekt zu machen.
Eine GUI ist doch eigentlich Unabhängig vom Spie.
Solange die GUI die notwendigen Funktionen unterstützt wie z.b. verschiedene Style und sowas halt.
_________________ MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Mein Kompliment an Traude, wie ich sehe machst ja recht gute Fortschritte bei der GUI
Es freut mich sehr, dass du eisern den Kurs hälst und dabei noch der Kommunity was gutes tust.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ich finde die "scrollPane" (so heißt die glaub ich in Swing) ne gute Sache.
Ich hab vor kurzen meine Java-GL GUI rausgekramt und weiter bearbeitet. Da werd ich die Scrollbar auch nochmal erneuern müssen. Sieht auf alle Fälle schonmal nicht schlecht aus.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Di Okt 03, 2006 14:07 Beiträge: 1277 Wohnort: Wien
Na, ehrlich gesagt, ich habe an meiner ScrollBar auch ziemlich oft herumgefummelt. Und zwar deshalb, weil sie zwar funktioniert hat, aber der Code erklärungsbedürtig ist. Man sieht ihn an und versteht eigentlich nicht warum er funktioniert. Das einzige, was man machen kann, ist einen ausreichenden Kommentar dazuschreiben - damit man beim nächsten Mal Debuggen nicht wieder von vorne anfangen muss den eigenen Code zu verstehen.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Hmhm... Klingt sehr gut. Bin schon gespannt auf die nächste Testable
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Di Okt 03, 2006 14:07 Beiträge: 1277 Wohnort: Wien
Ha,ja. Ich kratze die ganzen Farben und Bilder immer herunter, bevor ich etwas veröffentliche . Sonst sagen sie alle gleich wieder, es sei zu bunt. Hier gehts ja eigentlich nicht um die Farben sondern um die Funktionalität.
Jede Komponente hat eine Vorder- und eine Hintergrund(RGBA)farbe und ein Bild. Beides kann man per Hand oder per Theme setzen. Bei Theme schreibt man einfach Datensätze in eine Textdatei, z.B. TButton soll grellgelb sein und eine Schrift namens Arial haben und Windows haben ein Bild namens Blabla ......
Farbe per Hand setzen: MyGUIButton.FGColor:= SBLUE; (= Abkürzung für "SolidBlue", eine Konstante)
oder MyGUIButton.Color:= GetColorByString('160/160/160/255');
oder auch: Var MySolidRed: T32bColor; With MyRed Do Begin Red:=255; Blue:=0; Green:=0; Alpha:= 255; und dann: MyGUIButton.FGColor:= MySolidRed;
Die Farbe auf der TreeBox heißt bei mir SLGREY (SolidLightGrey).
Farben werden immer angezeigt. Bilder kann man aus- und einschalten.
@Lord Horazont: Ganz besonderes Augenmerk habe ich darauf gelegt, die Methoden ausdrucksstark zu benennen. Kommentare lasse ich selbstverständlich drin, sie sind aber alle in Englisch. Sorry, Pluto: Englisch ist einfach das Latein der modernen Welt. Aber keine Angst: bei Bedarf übersetze ich sie ins Deutsche.
In einem Anfall von Wahnsinn habe ich mir mal überlegt, ob es nicht vielleicht möglich wäre, daraus ein WidgetSet für Lazarus zu machen. Aber ich habs ganz schnell wieder unterdrückt.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Hm... Dein Anfall von Wahnsinn gefällt mir. Ist aber glaube ich nen Heidenaufwand. Und die Hauptentwicklung hat denke ich erstmal priorität. Vielleicht kann das ja dann ein anderer Wahnsinniger machen.
Englische Kommentare: Nicht-Englische Kommentare in sonst Englischem Code sieht finde ich auch einfach nur schrecklich aus (hier mögen die Meinungen geteilt sein)
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: So Mai 11, 2003 10:36 Beiträge: 285 Wohnort: Oldenburg
Programmiersprache: Object Pascal
Das mache ich immer in meinen Projekte: Englische Bezeichnungen für Methoden/Klassen und andere dinge, und Deutsche Kometare.
Weil es für mich leichter ist ein Wort ins Englische zu übersetzten statt einen Text. Aber das nur nebenbei.
Ich habe mir deine Soruce noch nicht angeschaut. Aber das bild sag auch schon viel aus *G*.
Zitat:
daraus ein WidgetSet für Lazarus zu machen.
Die Idee finde ich eigentlich gut. Es gibt sogar in der Wiki von Lazarus mid. ein Thema da zu. Anhand eines Beispiels wie man für QT ein WidgetSet erstellt.
Aber ich glaube das währe noch zu früh für dein Projekt.
_________________ MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus
Registriert: Di Okt 03, 2006 14:07 Beiträge: 1277 Wohnort: Wien
Lord Horazont schrieb:
Zitat:
Vielleicht kann das ja dann ein anderer Wahnsinniger machen.
Das hab ich mir letztendlich auch gedacht, vor allem weil ich jetzt dann mal mit der GUI zu einem Abschluss kommen möchte. Ich habe nämlich ein anderes Projekt im Auge, das mich viel mehr lockt (nicht nur Lossy liest Bücher im Urlaub. Allerdings behandelt meins eine andere Thematik: Game Physics). Aber ich mag keine nicht verwendbaren Trümmer zurücklassen und daher ist noch was zu tun. Die Polygon-Triangulierung zum Beispiel ist auch noch so ein Brocken.
Pluto schrieb:
Zitat:
Aber ich glaube das währe noch zu früh für dein Projekt.
Das muss ich zugeben. Zum Beispiel habe ich großen Respekt vor dem was Du bereits versucht hast: einen funktionierenden mehrzeiligen Texteditor zu schreiben ist imho eine ganz schöne Herausforderung. Für Spiele braucht man so etwas eigentlich auch nicht, und ursprünglich hieß es ja : GAME User Interface. Und zusätzlich graust mir vor Text-Programmierung. Bei diesen Voraussetzungen wirds wohl nichts mit einer TMemo-Komponente, die ja ein Bestandteil des Widgetsets ist.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7804 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Du kannst doch Lossys Textsuite verwenden.
Es spricht doch absolut nichts dagegen wenn zwei DGL Projekte sich gegenseitig Nutzen. Ich denke mit Lossys Textsuite hast du eine Wollmilchsau mit der dir keiner was vormachen kann.
Nötig wäre dazu aber, dass Lossy eine Version als Stable erklärt und die vorerst nicht mehr strukturell ändert.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
So eine Memo-Komponente braucht man leider doch in Spielen, wie ich selber erschrocken feststellen muss. Konsolen, Chats, Beschreibungen... All sowas muss beziehungsweise sollte über so eine Komponente laufen. Wobei ich da einige Ideen habe, wie ich das für mich Lösen kann. Ich hatte vor, den Text in Blöcke die genau einem Wort beziehungsweise einem zusammenhängenden Textblock bestehen. Also z.B. "hal-" und "lo". Von denen dann die Breiten berechnen und anhand dessen die Positionen berechnen.
Game Physics......... Interessant....
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Di Okt 03, 2006 14:07 Beiträge: 1277 Wohnort: Wien
@Flash: Man soll sogar die Textsuite verwenden können. Meine eigene Schrift ist als "Fallback" gedacht und soll dem Benutzer außerdem erlauben, uneingeschränkt in den Sourcecode hineinschauen zu können. Davon völlig unabhängig soll aber die Möglichkeit bestehen, eine andere Schrift einzubinden.
Ich muss allerdings noch Kompatibilität herstellen. Im Zuge der Anpassung an den VCL-Standard wird es einen Schritt geben, der sich um die Anbindung der Textsuite kümmert (immer vorausgesetzt, dass Lossy das auch will). Das mit dem Stable ist ja nur eine Frage der Zeit. Und irgendwann unterstützt er auch Freetype, denn er ist ja offenbar schon heftig dabei, einen Freetype-Header zu basteln.
Auf Freetype lege ich großen Wert. Du weißt schon: The Importance Of Feeling Free: Free Pascal & OpenGL & Freetype. Wobei immer gewährleistet ist, dass man das Ganze auch ausprobieren kann, ohne das kuschelige Delphi verlassen zu müssen. Oder eben Lazarus.
Aber ich meinte eigentlich etwas ganz anderes: um eine TMemo-Komponente mit OpenGL zu implementieren, braucht man mehr als nur eine Schrift. So wie ich die TextSuite verstehe, stellt sie Schriften zu Verfügung, aber keine Editor-Funktionalität. Grundsätzlich fällt das ja auch in meine Zuständigkeit, aber ich habe noch Alpträume von TGUIEdit. Wenn sich der verhalten soll wie der originale VCL-TEdit, dann ist ganz schön was zu tun, denn einen String irgendwohin zu schreiben ist noch keine Editor-Funktionalität. Das ledigliche Darstellen von Text bereitet mir kein Kopfzerbrechen; das Editieren des Textes durch den Benutzer ist das Problem. Ich selber bin auch ein Problem, denn bei der bloßen Erwähnung des Wortes "Textprogrammierung" verspüre ich heftige Lust, mich unter dem Tisch zu verstecken. Kann mir gar nicht erklären warum.
TEdit - na schön. Aber eine TMemo-Komponente - dagegen kommt mir ein TreeView wie ein Nachmittagsspaziergang vor.
@Lord Horazont: Blöcke hab ich mir auch überlegt.... ich dachte da aber mehr an ganze Absätze. Übrigens: Die eigentliche Editor-Funktionalität hab ich aus dem TGUIEdit rausgenommen und extra gekapselt, weil ich ja genau dasselbe auch für das Editieren fon StringGrid-Zellen brauche.
Zuletzt geändert von Traude am Fr Sep 12, 2008 08:20, insgesamt 1-mal geändert.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Mhm, das gleiche Gefühl verspüre ich nicht nur bei Textprogrammierung sondern auch bei Spritzen... Naja egal. Die sache mit dem Editieren habe ich nicht bedacht... Aber nen ReadOnly-Memo braucht man auf jeden Fall. Schreiben in der Tat eher weniger.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Mitglieder in diesem Forum: 0 Mitglieder und 25 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.