Frage von gut4fr5g4, 12

Wie frames benutzen?

http://www.spriters-resource.com/ds/pkmnplatinum/sheet/25631/

Wenn ich zum beispiel den inhalt dieses bildes (siehe link) benutzen will, muss ich dann erst jedes element herausschneiden und hintegrund transparent machen? wenn ja, warum macht man dann sowas und lädt nicht direkt es so hoch, dass man es verwenden kann? Wenn nein, wie mache ich das dann, dass ich im spiel nur ein element sehe, ohne dass ich das bild unnötig zuschneiden muss?

LG! :C

Antwort
von PWolff, 7

Das sieht ganz typisch nach einem Bild / einer Bildsammlung mit einer "Transparenzfarbe" aus.

Das heißt, man teilt der Bildwiedergabe-Engine mit, dass sie die betreffende Hintergrundfarbe als transparent darstellen soll. Bei GIF-Grafiken ist das eine Standardtechnik.

Normalerweise nimmt man für das gesamte Bild dieselbe Hintergrundfarbe. Hier nimmt man wohl mehrere, a) damit man sie bei anderen Bildern als Bildfarbe verwenden kann, und b) damit sie sich stark genug vom jeweiligen Bild unterscheiden.

Verwendung: Man teilt der Rendering-Engine mit, dass man nur ein bestimmtes Rechteck aus dem gesamten Bild haben will. Moderne Grafikprozessoren haben Befehle hierfür schon eingebaut - einschließlich "gehe um so und so viele Pixel nach unten, und wenn du unten angekommen bist, fang wieder ganz oben an", sodass diese Art der Darstellung bewegter Bilder sehr schnell und mit sehr wenig Code realisiert werden kann.

Beim Initialisieren der Sequenz setzt man zunächst die x-Verschiebung auf den gewünschten Wert und dann nimmt man das linke obere Pixel dieses Streifens als die transparente Farbe.

Schau mal in der Bibliothek, die du verwendest, nach, ob es nicht schon eine eingebaute Möglichkeit gibt für "Dieses Bild besteht aus 15 senkrechten Streifen à 9 Frames, und ich hätte gern den 7. Streifen animiert, mit 12 Frames pro Sekunde" oder ähnliches.

Kommentar von gut4fr5g4 ,

Wie kann ich diese engine installieren (ich benutze eclipse für java, ich weiß nicht ob das wichtig ist aber naja)

Kommentar von regex9 ,

Und benutzt du dazu noch irgendeine Bibliothek / irgendein Spiele-Framework (wie z.B. libgdx, LWJGL, Slick2D, jMonkeyEngine, o.a.)? Oder lässt du deine Sprites via Swing zeichnen?

Keine passende Antwort gefunden?

Fragen Sie die Community