[SDL] Lesson 1 Getting an Image on the Screen

[SDL] Lesson 1 Getting an Image on the Screen

重點:

  1. 宣告指標時,要記得初始化。
  2. SDL_SetVideoMode最後一個參數的結構跟SDL_Surface是相同的,可以使用的參數如下圖,在這裡我們使用SDL_SWSURFACE在系統記憶體裡建立一個 Video Surface。
  3. 圖檔讀進來後,是存在memory裡,當你不再使用時,必須使用 SDL_FreeSurface 將它釋放掉。
  4. 至於為什麼只釋放了 hello,卻沒有釋放 screen? 那是因為 scrren 的釋放是由最後一行程式 SDL_Quit 替我們做的。
  5. 官網:http://lazyfoo.net/SDL_tutorials/lesson01/index2.php

clip_image001

#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;

}