了解しました!以下は、Linux環境で Mono + SDL2 + C# を使って開発環境を整える手順を解説するブログのドラフトです。
ご希望の構成に沿って、各ステップを詳しく解説します。
Linux + Mono + SDL2 + C# 開発環境構築手順
本記事では、Linux環境でMonoフレームワークを使って、C# + SDL2で簡単なGUIアプリを作るためのセットアップ手順を紹介します。
SDL2には画像処理、フォント描画、音声、ネットワークなど多彩な機能がありますが、今回はそれらも含めて一通りインストール&動作確認します。
目次
1. Mono のインストール
Mono は C# を Linux 上で実行するためのフレームワークです。以下のコマンドでインストールします。
sudo apt update sudo apt install mono-complete
インストール後、バージョンを確認しておきましょう。
mono --version
2. SDL2 ランタイムと開発用パッケージのインストール
SDL2 は C 言語で書かれたマルチメディアライブラリで、C# からはラッパー経由で使用します。
sudo apt install libsdl2-2.0-0 libsdl2-dev sudo apt install libsdl2-image-2.0-0 libsdl2-image-dev sudo apt install libsdl2-ttf-2.0-0 libsdl2-ttf-dev sudo apt install libsdl2-mixer-2.0-0 libsdl2-mixer-dev sudo apt install libsdl2-net-2.0-0 libsdl2-net-dev
3. SDL2-CS(C# バインディング)の導入
C# から SDL2 を使うには、C# 向けのラッパー「SDL2-CS」を使います。
3.1 GitからSDL2-CSをクローン
git clone https://github.com/flibitijibibo/SDL2-CS.git cd SDL2-CS
3.2 DLLの作成
mcs -target:library -out:SDL2-CS.dll SDL2/*.cs
この操作で、SDL2-CS.dll
が生成されます。
4. テストプログラムの作成
簡単なウィンドウ表示テストを行ってみましょう。
4.1 Program.cs
using System; class Program { static void Main(string[] args) { Window window = new Window(); window.Run(); } }
4.2 Window.cs
using SDL2; using System; using System.Runtime.InteropServices; class Window { const int WIDTH = 640; const int HEIGHT = 480; const string TITLE = "SDL2 C# Window"; public void Run() { if (SDL.SDL_Init(SDL.SDL_INIT_VIDEO) < 0) { Console.WriteLine("SDL could not initialize! SDL_Error: " + SDL.SDL_GetError()); return; } IntPtr window = SDL.SDL_CreateWindow( TITLE, SDL.SDL_WINDOWPOS_CENTERED, SDL.SDL_WINDOWPOS_CENTERED, WIDTH, HEIGHT, SDL.SDL_WindowFlags.SDL_WINDOW_SHOWN ); if (window == IntPtr.Zero) { Console.WriteLine("Window could not be created! SDL_Error: " + SDL.SDL_GetError()); return; } IntPtr renderer = SDL.SDL_CreateRenderer(window, -1, 0); SDL.SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); // 白背景 SDL.SDL_RenderClear(renderer); SDL.SDL_RenderPresent(renderer); SDL.SDL_Delay(3000); SDL.SDL_DestroyRenderer(renderer); SDL.SDL_DestroyWindow(window); SDL.SDL_Quit(); } }
5. Makefile の作成
TARGET = main.exe SOURCES = Program.cs Window.cs DLLS = -r:SDL2-CS.dll FLAGS = -unsafe all: mcs $(SOURCES) $(DLLS) $(FLAGS) -out:$(TARGET) run: mono $(TARGET) clean: rm -f $(TARGET)
実行方法
make
でビルドmake run
で実行- 白いウィンドウが3秒間表示されれば成功!
まとめ
これで Linux + Mono + SDL2 + C# を用いたアプリ開発の準備が整いました!
今後は、画像表示や音声出力、フォント描画などの機能を追加していくと、ゲームやGUIツールの開発も可能になります。
必要があれば、「画像表示」や「キーイベント処理」など次のチュートリアル記事も作れます!続きが欲しいときは教えてくださいね。