Ich bin mir bewusst, dass dieses Thema bereits angesprochen wurde, aber ich konnte nie etwas aus der Seite bekommen. Ein Hinweis auf meine Antwort war, dass ich das GIF in jeden seiner Frames aufteilen muss, aber wie? Einige Code zusammen mit diesem würde sehr geschätzt werden. Vielen Dank.C++ SDL2 | Wie spiele ich ein GIF in SDL2?
Antwort
Verwenden Sie GIFLIB, um GIF-Animationen zu lesen. GIFLIB bietet eine praktische "slurp" -Funktion, die die gesamte Datei in Strukturen liest, aus denen Sie Ihre Bilder dann ganz einfach abrufen können. Es ist eine Weile her, aber IIRC beim Erstellen eines SDL_Texture
aus dem einen GIF-Frame müssen Sie Farben aus einer Palette für jedes Pixel nachschlagen. Da Gifs keine feste Bildrate haben, müssen Sie auch die einzelnen Verzögerungszeiten für jeden Frame speichern. Lesen Sie this für eine detaillierte Beschreibung des gif-Dateiformats und es wird Ihnen helfen, Sinn von GIFLIB zu machen.
Das gesagt, würde ich raten, das klobige GIF-Format für Zwischensequenzen (und die meisten anderen Dinge) zu verwenden, weil es ziemlich Platz hungrig ist und Sie Probleme haben können, Ihre Audio schön zu synchronisieren. Ich würde empfehlen, nach einer Möglichkeit zu suchen, "echte" Videoformate zu spielen - schauen Sie sich this project an.
Vielen Dank! Das hat mir wirklich geholfen! –
- 1. SDL2 Wie gestrichelte Linie
- 2. Bin ich sdl2 und opengl right C++
- 3. SDL2: Schnelle Pixel Manipulation
- 4. GetOpenFileName mit SDL2
- 5. sdl2 2.0.4 android Kompilierungsfehler
- 6. SDL2 Joystick Ereignistriggerung nicht
- 7. Installation SDL2 auf Linux
- 8. Android SDL2 Startup Crash
- 9. Statische Verbindung von SDL2-Bibliotheken
- 10. Verwenden von SDL2 mit CMake
- 11. SDL2: Wie bewege ich ein Bild entlang eines quadratischen Pfades?
- 12. SDL2 empfängt überhaupt keine Ereignisse
- 13. SDL2 und SDL_opengl_glext.h undefined external
- 14. Größe des SDL2-Fensters ändern?
- 15. Erstellen SDL2 mit NDK Toolchain
- 16. "Ungültiger Renderer" mit SDL2 & OpenGL
- 17. Wie bekomme ich einen Teil der Textur in SDL2?
- 18. SDL_ttf "Konnte Datei nicht laden" mit SDL2 in C++
- 19. SDL2 und C++ in Bezug auf Bildanimation nach einer Zeile
- 20. Software und Hardware-Rendering in SDL2/SFML2
- 21. So verwenden SDL2 und SDL_image mit cmake
- 22. SDL2: LNK1561: Einstiegspunkt muss definiert werden
- 23. Verlinken von SDL2-Bibliotheken mit CMake
- 24. Mehrere Grafikfenster mit SDL2 und Lisp?
- 25. Verwendung von Homebrew installiert SDL2 mit Xcode
- 26. Mein Code zeigt kein Sprite SDL2
- 27. Kollisionsfunktion in C++ (SDL2). Wie übertrage ich zwei Strukturen, die in getrennten Vektoren gespeichert sind?
- 28. SDL2 rendern Textur sichtbar hinter der Maus
- 29. SDL2 OpenGL3 Wie SDL in einer Funktion zur Initialisierung
- 30. Unbekannter Typ Name "SDL_RendererFlip" mit SDL2 (Emscripten)
Müssen Sie nur eine Animation in Ihrem Spiel spielen? Oder brauchen Sie GIF und nur GIF? – HolyBlackCat
Für Holy Black Cat möchte ich eine GIF-Datei in Verbindung mit einer Sounddatei verwenden, um einen Effekt zu erstellen, der wie eine Video-Cutscene aussieht. Ja, mir ist klar, dass das sehr, SEHR seltsam klingt, aber ich habe eines Tages mit meinem Spiel herumgespielt und ich dachte mir, was wäre, wenn ich das tun könnte? Ich weiß, wie man Spritesheets für grundlegende Animationen verwendet, also brauche ich keine Hilfe dabei. Mir ist bewusst, dass Sie .avi-Video in SDL in Verbindung mit einigen anderen Bibliotheken wiedergeben können, aber diese verwenden SDL1. Außerdem habe ich vergessen zu erwähnen, wäre es möglich, das GIF mit allen Frames in einer GIF-Datei abzuspielen? –
Ich habe nicht GIF in meinen Spielen verwendet, aber ich fand das: http://StackOverflow.com/Questions/22708336/Reading-Animated-Gifs-SDL-2 Ein Typ in den Kommentaren sagt, dass Sie 'libungif' oder verwenden können 'giflib' zum Laden von Gifs. Versuch sie. – HolyBlackCat