12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- // !! needs files 0x.gif to 09.gif in the same folder as this example.
- //
- //
- // gif to sprite sheet Script (work in progress)
- //
- // I had some sprites that needed converting. I have a folder filled with
- // gif files. Each gif file is a tiny sprite. They are named 01..99+.gif
- // I wanted to load each of these gifs and make a sprite sheet of them and then
- // save this sheet as a image file.
- //
- // I was working on doing this but discovered the export function of the
- // tool I used had a bug where only the first sprite of a set was saved as
- // a gif. I decided not to continue at this point.
- // What I have here is a loader that creates x amount of textures. Then
- // the loadtexture command loads the first 10 of these gifs into
- // this array. It shows how to create a load function which can load
- // procedural generated filenames.
- #include "raylib.h"
- #include <string.h>
- // create the container for the gifs
- Texture2D im[150];
- int main(void)
- {
- // Initialization
- //--------------------------------------------------------------------------------------
- const int screenWidth = 800;
- const int screenHeight = 450;
- InitWindow(screenWidth, screenHeight, "raylib example.");
- // create our char that wil contain the filename.
- char lfn[6]; // '0x.gif'
- // create the first set of names
- for(int i=1;i<10;i++){
- lfn[0] = 0;
- lfn[1] = i; // here we add the number in the filename
- lfn[2] = '.'; // gif extension
- lfn[3] = 'g';
- lfn[4] = 'i';
- lfn[5] = 'f';
- // load the texture using the FormatText command
- im[i] = LoadTexture(FormatText("0%i.gif",i));
- }
- //im1 = LoadTexture("01.gif"); // test case
- SetTargetFPS(60); // Set our game to run at 60 frames-per-second
- //--------------------------------------------------------------------------------------
- //im1 = LoadTexture(lfn);
- //DrawTexture(im1, 190+i*16, 190, WHITE);
- // Main game loop
- while (!WindowShouldClose()) // Detect window close button or ESC key
- {
- // Update
- //----------------------------------------------------------------------------------
-
-
- //----------------------------------------------------------------------------------
- // Draw
- //----------------------------------------------------------------------------------
- BeginDrawing();
- // draw the texture(gifs) on the canvas
- int cnt=0;
- for(int y=0;y<10;y++){
- for(int x=0;x<20;x++){
- if(cnt<10){
- DrawTexture(im[cnt],x*16,y*16,WHITE);
- }
- cnt++;
- }}
- // test case
- //DrawText(lfn,100,80,20,BLACK);
- //DrawText(FormatText("0%i.gif",i),100,80,20,BLACK);
- ClearBackground(RAYWHITE);
-
- EndDrawing();
- //----------------------------------------------------------------------------------
- }
- for(int i=0;i<50;i++){
- UnloadTexture(im[i]);
- }
- // De-Initialization
- //--------------------------------------------------------------------------------------
- CloseWindow(); // Close window and OpenGL context
- //--------------------------------------------------------------------------------------
- return 0;
-
- }
|