Gepostet: |
Sprites einfärben | ||||||||||
Hallo. Weiß jemand, wie man in Direct3D Sprites in Echtzeit (nicht nur beim Laden der Bitmap) einfärben kann? Mit dem letzten Parameter von Sprite.Draw gehts leider nicht, damit kann man die ARGB-Werte nur verkleinern. public void Sprite.Draw( Ich hab schon geschaut, ob es noch eine weitere Draw-Funktion gibt, oder ob Texture eine Funktion dafür bereitstellt, aber hab leider nichts gefunden. wenn jemand weiß, wie's geht: bitte melden! mfg |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Hi, tut mir leid, dass ich erst so spät antworte, aber Silvester ist dazwischen gekommen ;-) Die Funktion Draw dient normalerweise zum Einfärben der Texturen - wenn du z. B. System.Drawing.Color.Blue angibst, dann wird auch dein Sprite bläulich eingefärbt angezeigt. Wo gibst du denn den Anfangswert zum Einfärben ein? Und in wie fern unterscheidet sich denn das Ergebnis - ist das Bild nur dunkler? Grüße, Jammni |
|||||||||||
Zum Seitenanfang | Homepage ICQ | ||||||||||
Gepostet: |
|||||||||||
Hallo, folgendes Prinzip: Auf die einzufärbende Textur wird eine zweite einfarbige Textur gezeichnet, dessen Transparenz bestimmt, wie stark das Bild eingefärbt wird. Ein Problem hat man aber, wenn das Bild halbtransparente Bereiche enthält. Die werden dann nämlich undurchsichtiger. Für meine Zwecke reicht Sprite.Draw aber vollkommen aus. mfg Thomas |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Hmm, das ist wohl war. Wenn die halbtransparenten Bereiche noch zusätzlich eingefärbt werden, wird darunter liegende Textur noch dunkler. Spontan fällt mir dazu aber auch keine Abhilfe ein. Grüße, Jammni |
|||||||||||
Zum Seitenanfang | Homepage ICQ | ||||||||||