SDL(多媒體開發函式庫)

SDL(多媒體開發函式庫)

Code::block設定SDL環境

官方載點:https://www.libsdl.org/download-2.0.php

步驟:

(就算電腦是64bit但下載64bit的dll包可能無法執行)


詳細安裝參考此篇

http://lazyfoo.net/tutorials/SDL/01_hello_SDL/windows/codeblocks/#6

其中的compile之SDL路徑設定,可從setting->compiler去設定(全域),或是從Project->build option去設定(區域)都可以 


最後將32bit的sdl.dll放到exe黨存在的目錄(如64bit的sdl.dll無法的話)

教學

http://kelvmiao.info/sdl-tutorial-cn/lessons/lesson01/index2.html

他是使用SDL1,所以一些程式碼需對應的改變

基本架構

#include "SDL.h"
#include <stdio.h>
int main( int argc, char* args[] )
{

//Screen dimension constants
const int SCREEN_WIDTH = 640;
const int SCREEN_HEIGHT = 480;

    //The window we'll be rendering to
    SDL_Window* window = NULL;

    //The surface contained by the window
    SDL_Surface* screenSurface = NULL;

    //Initialize SDL
    if( SDL_Init( SDL_INIT_VIDEO ) < 0 )
    {
        printf( "SDL could not initialize! SDL_Error: %s\n", SDL_GetError() );
    }else{
        //Create window
        window = SDL_CreateWindow( "SDL Tutorial123", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN );
    if( window == NULL ){
            printf( "Window could not be created! SDL_Error: %s\n", SDL_GetError() );
    }
         //Get window surface
            screenSurface = SDL_GetWindowSurface( window );

            //Fill the surface white
            SDL_FillRect( screenS urface, NULL, SDL_MapRGB( screenSurface->format, 0xFF, 0xFF, 0xFF ) );

            //Update the surface
            SDL_UpdateWindowSurface( window );

            //Wait two seconds
            SDL_Delay( 2000 );
}
}

如果點選build and run但仍然跑出前build的程式

把cpp檔案刪掉,新建一個

Last updated