bitmapfonts mit wechselden farben

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

meik sauss

Betreff: bitmapfonts mit wechselden farben

BeitragFr, Nov 02, 2012 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

aMul

Sieger des Minimalist Compo 01/13

BeitragFr, Nov 02, 2012 19:10
Antworten mit Zitat
Benutzer-Profile anzeigen
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

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Nov 02, 2012 19:23
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Dez 01, 2012 0:56
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Very Happy). Du setzt die Transparente Farbe deiner Bitmapfont auf die Schriftfarbe.
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:
    Nur 2D-Methoden verwendet
    Beim Zeichnen schneller als z.B. per WritePixel

Nachteile:
    Speicherintensiv
    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

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group