2017-04-06 27 views
1

这里是SMFL一些代码从SMFL到SDL 2.0

RenderWindow window(VideoMode(320, 480), "The Game!"); 
    Texture t1,t2,t3; 
    t1.loadFromFile("images/tiles.png"); 
    t2.loadFromFile("images/background.png"); 
    t3.loadFromFile("images/frame.png"); 

    Sprite s(t1), background(t2), frame(t3); 

是否SDL 2.0具有以下功能:像这样的,以及如何将它们转换为SDL 2.0

回答

1

是的,一切都存在: https://programmersranch.blogspot.kr/2014/03/sdl2-animations-with-sprite-sheets.html

#include <SDL.h> 
#include <SDL_image.h> 

int main(int argc, char ** argv) 
{ 
bool quit = false; 
SDL_Event event; 

SDL_Init(SDL_INIT_VIDEO); 
IMG_Init(IMG_INIT_PNG); 

SDL_Window * window = SDL_CreateWindow("SDL2 Sprite Sheets", 
    SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 
    480, 0); 
SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0); 
SDL_Surface * image = IMG_Load("spritesheet.png"); 
SDL_Texture * texture = SDL_CreateTextureFromSurface(renderer, 
    image); 

while (!quit) 
{ 
    SDL_WaitEvent(&event); 

    switch (event.type) 
    { 
    case SDL_QUIT: 
     quit = true; 
     break; 
    } 

    SDL_RenderCopy(renderer, texture, NULL, NULL); 
    SDL_RenderPresent(renderer); 
} 

SDL_DestroyTexture(texture); 
SDL_FreeSurface(image); 
SDL_DestroyRenderer(renderer); 
SDL_DestroyWindow(window); 
IMG_Quit(); 
SDL_Quit(); 

return 0; 
}