了解しました!以下は、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ツールの開発も可能になります。
必要があれば、「画像表示」や「キーイベント処理」など次のチュートリアル記事も作れます!続きが欲しいときは教えてくださいね。