スタート#
環境:MacOS
この記事では、SDL の開発に使用する言語は C 言語です(C++ が好きではないという理由で質問しないでください)
この記事は技術的な記録を目的としており、初心者向けのチュートリアルではありませんが、C 言語を少し学んだことがある人には問題ないと思います。
SDL をダウンロードするのは MacOS では非常に簡単です。Xcode を使うのが面倒なので、brew を使って直接ダウンロードし、VScode で開発しています。
brew install sdl2
ダウンロードが完了したら、CMake を設定する必要があります。MacOS では、CMake を直接参照しても SDL ライブラリを見つけることができないため、ヘッダーファイルの場所を接続する必要があります。
ライブラリの場所を brew info で検索する
brew info sdl2
それから CMake を設定すれば直接参照できます
cmake_minimum_required(VERSION 3.23.2)
project(HelloSDL2 C)
set(CMAKE_C_STANDARD 11)
set(MY_LIBRARY_DIR /usr/local/Cellar)
set(SDL_DIR ${MY_LIBRARY_DIR}/sdl2/2.26.0)
include_directories(${SDL_DIR}/include/SDL2)
link_directories(${SDL_DIR}/lib/)
link_libraries(SDL2)
add_executable(HelloSDL2 main.c)
さて、それから本当のコーディングを始めることができます!
こんにちは、SDL#
SDL では、ウィンドウを作成することは非常に簡単です。
まず、ウィンドウを作成します。
#include <SDL.h>
int main() {
if (SDL_Init(SDL_INIT_VIDEO)) {
SDL_Log("Can not init video, %s", SDL_GetError());
return 1;
}
...
return 0;
}
問題が発生した場合に何が起こっているかわからないようにするための if 文です
次に、SDL ウィンドウの設定です。
...
SDL_Window * win = SDL_CreateWindow(
//title
"HelloWorld",
SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,
//ウィンドウのサイズ
400,300,
SDL_WINDOW_SHOWN
);
....
最後に、ウィンドウを解放するのを忘れないでください。
...
SDL_DestroyWindow(win);
...
完全なコード
#include <SDL.h>
int main() {
if (SDL_Init(SDL_INIT_VIDEO)) {
SDL_Log("Can not init video, %s", SDL_GetError());
return 1;
}
SDL_Window * win = SDL_CreateWindow(
"HelloWorld",
SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,
400,300,
SDL_WINDOW_SHOWN
);
if (win==NULL) {
SDL_Log("Can not create window, %s", SDL_GetError());
return 1;
}
SDL_Delay(3000);
SDL_DestroyWindow(win);
return 0;
}
問題がなければ、400*300 の黒いウィンドウが表示され、3 秒後に自動的に閉じられます。Mac 上では何も表示されないかもしれませんが、Dock に新しいプログラムが表示されることに気付くでしょう。それが成功です。