Farb- und Transparenzverlauf eines Sprites

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Farb- und Transparenzverlauf eines Sprites

Beitrag von gnasen »

Hi,
ich stehe derzeit vor dem Problem einen Text auf einem Screen darzustellen, welcher sowohl einen transparenzverlauf hat (blendet ein/aus), als auch die Farbe dabei ändert.
Ich kann zwar mit DrawText() eine Farbe angeben, müsste für die Transparenz allerdings für jedes Frame ein temporäres Sprite (da sich die Farbe ja ändert) erstellen.
Kennt wer eine performantere Lösung?
pb 4.51
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

??
- Wie realisierst du das Sprite?
- Ist es ein transparentes Sprite oder ein Sprite3D?
- Ist es so gewollt, dass du auf ein Sprite malst oder könntest du auch mit Drawtext() leben?

Auf ein Sprite kannst du auch zur Laufzeit malen, sogar wenn du Sprite3Ds nutzt kannst du auf dem dazugehörigen Sprite malen, die veränderung auf dem Sprite wird ohne irgendwelches zutun auch direkt auf dem dargestellten Sprite3D dargestellt. Bei den anderen Spritekramm ist es genauso.

Du machst also ein Sprite und malst nur deinen Text auf dem Sprite neu (mit entsprechender Farbe) und drawingmode() auf Transparent gesetzt, oder so guck mals dazu in der Hilfe.
I´a dllfreak2001
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Beitrag von gnasen »

dllfreak2001 hat geschrieben:??
- Wie realisierst du das Sprite?
- Ist es ein transparentes Sprite oder ein Sprite3D?
- Ist es so gewollt, dass du auf ein Sprite malst oder könntest du auch mit Drawtext() leben?
-normales Sprite2D
-es wird mit displaytransparentsprite() dargestellt
-wenn ich nicht auf ein Sprite male, wie soll ich dann die Transparenz realisieren.

Was du vorschlägst ist mir bekannt, habs vllt blöd formuliert.
Ich suche etwas, das performanter ist, als 50 mal ein Sprite zu "leeren" und neu zu befüllen.
Bin mittlerweile auf die Idee zu kommen, DisplayRGBFilter() zu benutzen. Allerdings wird empfohlen StartSpecialFX() zu verwenden, was in meiner Zeichnungsroutine leider nicht zur Anwendung kommen kann.
Wenn es nix schnelleres gibt, werde ich den Schriftzug eben jedesmal neu draufpinseln, wäre ja ok.
pb 4.51
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Du brauchst das Sprite ja nicht immer leeren, weil das Geschriebene ja sowieso immer das gleiche ist und das alte Zeug überdeckt sofern es auf der gleichen Stelle des Sprites geschrieben wurde.

Alternativ kannst du je eine rote, grüne und blaue Version übereinander legen dafür solltest du aber Sprite3D mit Additiven Blending nutzen.
I´a dllfreak2001
Antworten