黑雪路西法 黑雪路西法
关注数: 22 粉丝数: 58 发帖数: 1,410 关注贴吧数: 22
求大神。加了SDL_Delay仍然闪退 #include "headers/myoffset.h" #include "headers/fly.h" #include "headers/loadimage.h" #include "headers/log.h" #include <string.h> #include <SDL2/SDL.h> #include <SDL2/SDL_image.h> void my_SDL_init(); void my_SDL_quit(); string image_source[1] { "../image/fly.png"}; static SDL_Window *window = NULL; static SDL_Renderer *renderer = NULL; static SDL_Texture *back = NULL; static SDL_Texture *tex1 = NULL; static SDL_Texture *tex2 = NULL; static SDL_Surface *tsur = NULL; static int width = 240; static int height = 360; static offset *Touch = NULL; static SDL_Event *event; static fly *fire = new fly(image_source[1], renderer); int main(int argc, char *argv[]) { my_SDL_init(); tsur = SDL_CreateRGBSurface(0, 240, 360, 32, 0, 0, 0, 0); SDL_FillRect(tsur, NULL, 0xffacca); tex1 = SDL_CreateTextureFromSurface(renderer, tsur); SDL_FreeSurface(tsur); tex2 = IMG_LoadTexture(renderer,image_source[0].c_str()); SDL_Rect *s = NULL; s = Create_Rect(0, 0, 120, 360); SDL_RenderClear(renderer); SDL_RenderCopy(renderer, tex1, NULL, NULL); SDL_RenderCopy(renderer, tex2, NULL, s); SDL_RenderPresent(renderer); SDL_Delay(2000); my_SDL_quit(); return 0; } void my_SDL_init() { if (SDL_Init(SDL_INIT_EVERYTHING) == -1) { log("error:SDL initialize failed"); } window = SDL_CreateWindow("Let It Fly", 0, 0, 480, 800, SDL_WINDOW_SHOWN); renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED|SDL_RENDERER_PRESENTVSYNC); } void my_SDL_quit() { SDL_DestroyTexture(tex1); SDL_DestroyTexture(back); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); }
1 下一页