bitmapfonts mit wechselden farben
Übersicht

meik saussBetreff: bitmapfonts mit wechselden farben |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo forum!!
ich würde gerne als intro vor meinem spiel ein bitmapfont mit wechelden farben erscheinen lassen so wie zu der alten c64 zeit (Traid). ich habe auch schon verschiedene programme aus dem forum ausprobiert hat auch alles gut hingehauen aber leider kann man nur die farbe eines ganzen satzes ändern. wie bekomme ich es hin das jeder buchstabe seine farbe wechelt. bitte helft recht bald, denn danach suche ich schon ewigkeiten. |
||
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Für so ein komplexes Feature musst du dir vermutlich deine eigene Bitmap-Text-Funktion schreiben.
Du musst dir dann überlegen wie du die Farb-Informationen im String, oder als extra Parameter an die Funktion übergibst. Wie du die Bitmapfont selbst färbst hängt auch davon ab, wie kompliyiert, und wie viele Farben du möchtest. Im einfachsten Fall hast du eine kleine Anzahl möglicher Farben und dann die Font in diesen Farben vorgefärbt vorliegen und zeichnest dann einfach jedes Zeichen aus dem richtigen Bild. Wenn du beliebige Farben willst, musst du die Zeichen einzeln einfärben, was langsam ist (da du alle Pixel einzeln zeichnen musst). Die einzige realistische alternative für beliebige Farben ist die Schriftart als Textur zu laden, und dann 3D-Befehle zu benutzen, um sie auf farbigen Quads anzuzeigen. Diese Methode ist allerdings relativ kompliziert, ich weiß nicht ob deine Programiererfahung dafür reicht. Es kann allerdings sein, da bin ich mir nicht sicher, dass hectics Draw3D Bibliothek kann was du möchtest, da könntest du mal schauen. Die benutzt den erwähnten 3D-Kram. |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, mit der Draw3D2 kann man innerhalb eines String die Textfarbe ändern. Das geht über folgenden Tag
Code: [AUSKLAPPEN] Hallo ab jetzt bitte in <#f00>Rot, <#0f0>Grün, und <#00f>Blau</#> schreiben.
Farbcodes sind an CSS angelehnt. Also in dreistelligem Hexcode. Allerdings wäre die Stringanordnung in diesem Fall schwer zu managen. In diesem Fall würde ich mir die Text3D -Funktion nehmen und entsprechend anpassen. Wäre einfacher dann später. Beispielsweise über die Einspeisung eines weiteren Parameters der den Farbzyklus angibt. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
pirahni |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sofern du bei Blitz2D Funktionen bleiben möchtest gibt es noch eine Lösung.
Du erstellst dir eine Reihe von leeren Images, denen du je eine Farbe zuordnest. Also eins für grün, eins für cyan usw. Die einzelnen Images färbst du komplett in der entsprechenden Farbe ein. Dann lädst du deine Bitmapfont. Die Bitmapfont braucht überall die gleiche Schriftfarbe, d.h. auch keine weichen Übergänge (aber bei beschriebener Thematik braucht man die glaube ich nicht ![]() Nun zeichnest du die Bitmapfont mit Transparenz auf die einzelnen farbigen Images. Nun hat deine Schrift die gleiche Farbe wie der vorherige Hintergrund des entsprechenden Images. Wenn du nun die Transparente Farbe der einzelnen Farbimages auf die Hintergrundfarbe deiner Bitmapfont setzt (die ja als einzige auf die jetzige Schriftfarbe gezeichnet wurde), dann kannst du mit DrawImageRect und der Position des Buchstaben die einzelnen Zeichen der jeweiligen Farbe zeichnen. Vorteile:
Beim Zeichnen schneller als z.B. per WritePixel Nachteile:
Du kannst keine Buchstaben in der Farbe der Transparenz der Bitmapfont zeichnen. Bei Bedarf kann ich das auch nochmal zu einem Code zusammen fassen. Gruß Vasco Lange P.S: Ich weiß, dass das Thema 1 Monat veraltet ist ^^ |
||
Leicht verständliche Informatiktutorials:
http://www.youtube.com/VascoLange |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group