Gegner (auf Sprite) bei Treffer aufhellen

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Iguan

Betreff: Gegner (auf Sprite) bei Treffer aufhellen

BeitragDo, Feb 02, 2012 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo

Ich benutze "Sprite Candy" um den Speed der Grafikkarte ausnutzen zu können. Alles ist also mit Sprites (3D) realisiert. Nun gibt es doch einen Befehl, um diese Sprites einzufärben. In "Sprite Candy" heisst dieser Befehl "HUD_SetObjectColor"... welchen B3D-Befehl dabei benutzt wird weiss ich leider nicht...(wisst ihr das?) Jedenfalls möchte ich gerne meine Gegner im Spiel kurz aufhellen (fast weiss), sobald diese getroffen werden. Das Problem ist, dass wenn ich
Code: [AUSKLAPPEN]

HUD_SetObjectColor(Gegner,255,255,255)

mache, erscheint der Gegner ganz normal. Wenn ich die Werte verringere (z.B Gruen und Blau) dann erscheint der Gegner rötlich.

Wie kann ich also den Gegner heller machen, ohne extra ein weiteres (aufgehelltes) Bild zu malen (oder von B3D malen zu lassen)?

Wenn ihr Sprite Candy nicht kennt, dann würde mich trotzdem interessieren, wie man sowas in B3D macht...


Vielen Dank!

mfg

Iguan
 

PhillipK

BeitragDo, Feb 02, 2012 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein problem ist nicht die farbe, sondern der Blendmode.

I.d.r. nimmt die farbe keinen einfluss auf die helligkeit, alles wird standartmäßig auf 255,255,255 - gefärbten triangles gezeichnet.

Da ich leider nichts mit Sprite Candy anfangen kann, muss ich raten. Eventuell gibts irgendwo ein SetBlend für die Sprites, sodass du die manuell einstellen kannst. Wenn du das gefunden hast, aber es keinen schicken effekt bei den unterschiedlichen blendmodes gibt, versuch zb das sprit kurzzeitig zu kopieren und das "obere" von beiden mit einem LIGHTBLEND zu zeichnen. Keine ahnung.

Ansonsten:
Mit der farbe kannst du bestenfalls (soweit ich das beurteilen kann) die helligkeit einstellen - von schwarz ( 0,0,0) bis normal (255,255,255)

Nunja, da du was von B3D befehlen gesagt hast, hier ein 2 anregungen:
BrushBlend
EntityBlend

Mein ansatz dazu wäre wie folgt:

Alle "aufzuhellenden objekte" im update sammeln
Eine kopie der aufzuhellenden objekte anfertigen
Alles zeichnen.

Im nächstne update prüfen, ob ein objekt evtl schon aufgehellt wird und die verbleibende "aufhellungs-lebensdauer" überprüfen. Lebensdauer überschritten? löschen!

Vielleicht hilft dir das ja. (Ps: Mein favorit wäre dann ausserdem das additive blending, siehe beispielbilder!)

skey-z

BeitragDo, Feb 02, 2012 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Am einfachste wäre es die Gegner standardmäßig auf die Farbe 223, 223, 223 zu setzen und bei Treffern kurzzeitig auf 255 und wieder ausfaden.

Oder wie schon erwähnt, eine Copy des Bildes davor zu zeichnen und mit EntityBlend(3)-Add aufzuhellen, dazu musst du aber wohl noch mit dem Alphawert rumspielen
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Iguan

BeitragFr, Feb 03, 2012 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, vielen Dank!! Das versuche ich mal!

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group