BitmapFontEngineUPDATE
Verfasst: 14.03.2012 00:38
Guten Tag. (download link immer in meinem letzten post)
Nachdem doch viele Diskussionen um dieses Thema kreis(t)en:
Anbei ein kleiner Beitrag zum Thema Bitmapfonts: (Projekt/Konzept)
Bitte beachten: dies ist ein Konzept, welches als Denkanstoss/Ideenlieferant gedacht ist, weder "komplett" noch "vollständig", jedoch funktionstüchtig und nicht als "Lehrbeispiel".
Ich hasse starre Konzepte, deshalb hab ich vor einiger Zeit mit meiner eigenen „GameEngine“ (LUCY/IN_GRID) begonnen.
Ziel war und ist es möglichst flexible Strukturen zu schaffen.
Als ich vor dem „Problem“ stand einen Grafikfont für meine Engine/Spiel zu verwenden
habe ich das beigefügte System entwickelt.
Ich entschuldige mich vorweg für die schlechte Dokumentation (wenn ich so im Fluss bin geht Doku mal unter). Weiters ist die PB Version schon a bisserl „angestaubt“ (4.0) sollte aber für das Konzept egal sein.
Source und Beispiel basieren auf Kernkomponenten der „IN_GRID“ Engine
Warum:
Vorteile:
Ihr könnt alle Arten von Grafiken als Font verwenden. Es wird kein „Creator“ benötigt, jedes
Grafikprogramm ist geeignet.
Grafiken alle in den Ordner „GFXFONT“ legen. „FONT“ Datei mit Editor beliebig erweitern.
Ausnahmen für nicht als Dateinamen geeignete Bezeichnungen einfach im code hinzufügen und ersetzungen festlegen z.B.: „.“ als „POINT“, „PUNKT“ oder was auch immer abspeichern und im Code entsprechend berücksichtigen.
Die Umwandlung der Grafiken in 3DSprites ermöglicht, das Skalieren/anpassen an die aktuelle
Bildschirmauflösung des Benutzers.
Einfach in der Ini Datei nach der Position:
…..
SOURCEWIDTH
1680
SOURCEHEIGHT
1050
…...
suchen und durch die Werte der Desktopauflösung des Entwickler Computers ersetzen, falls keine Skalierung auf dem Entwicklersystem gewünscht ist (bei mir sind es eben die 1680 x 1050) der Text wird daher an alle Auflösungen <> obiger angepasst
Kurzbeschreibung der Routinen:
__LOADGFXFONT() ;basisroutine für den "dynamischen font" --->"FONT_ENGINE.pbi"
ohne Parameter.
__ANALYSE_GFX_TEXT(_text$) ,beliebiger Text (String)
Steuerzeichen: | ende des Textes, \ nächste Zeile.
Achtung INMMER | angeben, ansonsten wird der Text nach unten weggescrollt, sobald \ verwended wird, | fixiert den Text
Gruß Walter
Der Code in vorliegender Form kann beliebig verändert und weitergegeben werden.
(Hinweis auf den Urheber/Idee erwünscht)
Nachdem doch viele Diskussionen um dieses Thema kreis(t)en:
Anbei ein kleiner Beitrag zum Thema Bitmapfonts: (Projekt/Konzept)
Bitte beachten: dies ist ein Konzept, welches als Denkanstoss/Ideenlieferant gedacht ist, weder "komplett" noch "vollständig", jedoch funktionstüchtig und nicht als "Lehrbeispiel".
Ich hasse starre Konzepte, deshalb hab ich vor einiger Zeit mit meiner eigenen „GameEngine“ (LUCY/IN_GRID) begonnen.
Ziel war und ist es möglichst flexible Strukturen zu schaffen.
Als ich vor dem „Problem“ stand einen Grafikfont für meine Engine/Spiel zu verwenden
habe ich das beigefügte System entwickelt.
Ich entschuldige mich vorweg für die schlechte Dokumentation (wenn ich so im Fluss bin geht Doku mal unter). Weiters ist die PB Version schon a bisserl „angestaubt“ (4.0) sollte aber für das Konzept egal sein.
Source und Beispiel basieren auf Kernkomponenten der „IN_GRID“ Engine
Warum:
Vorteile:
Ihr könnt alle Arten von Grafiken als Font verwenden. Es wird kein „Creator“ benötigt, jedes
Grafikprogramm ist geeignet.
Grafiken alle in den Ordner „GFXFONT“ legen. „FONT“ Datei mit Editor beliebig erweitern.
Ausnahmen für nicht als Dateinamen geeignete Bezeichnungen einfach im code hinzufügen und ersetzungen festlegen z.B.: „.“ als „POINT“, „PUNKT“ oder was auch immer abspeichern und im Code entsprechend berücksichtigen.
Die Umwandlung der Grafiken in 3DSprites ermöglicht, das Skalieren/anpassen an die aktuelle
Bildschirmauflösung des Benutzers.
Einfach in der Ini Datei nach der Position:
…..
SOURCEWIDTH
1680
SOURCEHEIGHT
1050
…...
suchen und durch die Werte der Desktopauflösung des Entwickler Computers ersetzen, falls keine Skalierung auf dem Entwicklersystem gewünscht ist (bei mir sind es eben die 1680 x 1050) der Text wird daher an alle Auflösungen <> obiger angepasst
Kurzbeschreibung der Routinen:
__LOADGFXFONT() ;basisroutine für den "dynamischen font" --->"FONT_ENGINE.pbi"
ohne Parameter.
__ANALYSE_GFX_TEXT(_text$) ,beliebiger Text (String)
Steuerzeichen: | ende des Textes, \ nächste Zeile.
Achtung INMMER | angeben, ansonsten wird der Text nach unten weggescrollt, sobald \ verwended wird, | fixiert den Text
Gruß Walter
Der Code in vorliegender Form kann beliebig verändert und weitergegeben werden.
(Hinweis auf den Urheber/Idee erwünscht)