#include "palette.h" #include "defines.h" #include void init() { Palette::init("demo6_palette", WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_ZOOM); Palette::Surface peiv = Palette::loadSurface("resources/williams.gif"); Palette::loadPalette("resources/pal01.gif"); Palette::setSrc(peiv); } void update() { const int FRAME = (SDL_GetTicks() / ANIMATION_SPEED) % NUM_FRAMES; Palette::setPalette(255, 0xFF444466); Palette::clear(255); Palette::blit(SPRITE_POS_X, SPRITE_POS_Y, FRAME * SPRITE_WIDTH, 0, SPRITE_WIDTH, SPRITE_HEIGHT); } int main(int argc, char *argv[]) { init(); SDL_Event event; bool should_exit = false; while (!should_exit) { while (SDL_PollEvent(&event)) { // Evento de salida if (event.type == SDL_EVENT_QUIT) { should_exit = true; break; } // Eventos de teclado if (event.type == SDL_EVENT_KEY_DOWN && event.key.repeat == 0) { switch (event.key.key) { case SDLK_ESCAPE: should_exit = true; break; case SDLK_SPACE: Palette::switchPalette(); break; } } } update(); Palette::flip(); } }