[SDL] Lesson 1 Getting an Image on the Screen
重點:
- 宣告指標時,要記得初始化。
- SDL_SetVideoMode最後一個參數的結構跟SDL_Surface是相同的,可以使用的參數如下圖,在這裡我們使用SDL_SWSURFACE在系統記憶體裡建立一個 Video Surface。
- 圖檔讀進來後,是存在memory裡,當你不再使用時,必須使用 SDL_FreeSurface 將它釋放掉。
- 至於為什麼只釋放了 hello,卻沒有釋放 screen? 那是因為 scrren 的釋放是由最後一行程式 SDL_Quit 替我們做的。
- 官網:http://lazyfoo.net/SDL_tutorials/lesson01/index2.php
#include "SDL/SDL.h"
int main(int argc, char *args[])
{
//The images
SDL_Surface* hello = NULL;
SDL_Surface* screen = NULL;
//Start SDL
SDL_Init(SDL_INIT_EVERYTHING);
//Set up screen
screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
//Load image
hello = SDL_LoadBMP("hello.bmp");
//Apply image to screen
SDL_BlitSurface(hello, NULL, screen, NULL);
//Update Screen
SDL_Flip(screen);
//Pause
SDL_Delay(2000);
//Free the loaded image
SDL_FreeSurface(hello);
//Quit SDL
SDL_Quit();
return 0;
}