初學 SDL 於 iOS 專案中呼叫 SDL_DrawLine() 繪製線條,但畫面無任何輸出。程式碼如下:
int SDL_DrawLine(SDL_Surface *dst, int x1, int y1, int x2, int y2, Uint32 color);
SDL2.framework 並設定 Framework Search Paths。dst 為有效 SDL_Surface*,且像素格式相容(如 RGBA8888)。SDL_UpdateWindowSurface() 或使用 Renderer 機制才會呈現。SDL_Init(SDL_INIT_VIDEO) 成功回傳 0。SDL_CreateWindow() + SDL_GetWindowSurface() 取得 Surface,或改用 SDL_CreateRenderer() + SDL_RenderDrawLine() 現代繪圖 API。SDL_UpdateWindowSurface(window) 或 SDL_RenderPresent(renderer)。SDL_GetError() 是否有錯誤訊息。SDL_Window *win = SDL_CreateWindow("Line", 100, 100, 640, 480, SDL_WINDOW_SHOWN);
SDL_Renderer *ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED);
SDL_SetRenderDrawColor(ren, 255, 0, 0, 255); // 紅色
SDL_RenderDrawLine(ren, 10, 10, 200, 200);
SDL_RenderPresent(ren);
若仍無輸出,請檢查專案是否正確嵌入 SDL2 動態庫,並確認 Info.plist 無限制繪圖權限。