ich saß kürzlich am Maker und traute meinen Augen nicht so recht. Ich hab per RGSS Skript ein ganz normales Sprite anzeigen lassen. Dann hab ich in dessen Update-Methode die Transparenz wie folgt erhöht:
So und jetzt kommt der Clou an der Sache: wenn ich das mit einem Bild mache und dessen Transparenz 255 erreicht, dann ist das Sprite an sich zwar weg, der Umriss des Sprites ist aber am Hintergrund immer noch deutlich als eine Art Schatten erkennbar.
Meine Frage: bringe das nur ich zustande oder tritt das auch bei anderen auf? Und wie kann ich verhindern, dass das passiert, um einen flüssigen Übergang von "sichtbar" nach "unsichtbar" zu erreichen wie z.B. bei den Standard-Picture-Befehlen?
Für die Transparenz gibt es eigentlich Sprite#opacity (Was auch die Standard-Pictures benutzen ;)).
Wobei hier eben 255 voll sichtbar und 0 unsichtbar ist.
--
"Banjo, you're a BEAR... and I will teach you... THESE MOVES!"
Bitmap.color ist das Attribut womit man die Farbe setzen kann mit der zukünftige Zeichenoperationen (fill_rect, draw_text, etc) durchgeführt werden. Mit Bitmap.color.alpha setzt du also nur den Alphakanal der Farbe für alles was danach in das Bitmap gezeichnet wird. Auf alles was sich schon in dem Bitmap befindet hat dieser Befehl keine auswirkung.
Er nutzt Sprite#color, nicht Bitmap#color. Das hat tatsächlich Einfluss auf die Anzeige des Sprites. Aber wenn du die Transparenz für alle Farbpixel einheitlich runtersetzen willst, musst du Sprite#opacity verwenden. Die color-Methode scheint da etwas anders vorzugehen.
Ah tatsächlich, mein Fehler. Sprite.color setzt ne Farbe mit der das Sprite überblendet wird, und ändert daher nicht wirklich etwas an Transparenz des zugrundeliegenden Bitmaps.
@The_Burrito: Tatsächlich ändert das Modifizieren von Sprite#color.alpha schon etwas an der Transparenz des gesamten Sprites - nur wird es damit nie so 100%ig durchsichtig wie wenn man es mit Sprite#opacity machen würde. Interessant, dass es hier überhaupt zwei Versionen gibt, wobei mir die Verwendungszwecke von "alpha" nicht mehr ganz einleuchten, wo es doch "opacity" gibt...