SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

連載記事

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

翔泳社では、「独習」「徹底入門」「スラスラわかる」「絵で見てわかる」「一年生」などの人気シリーズをはじめ、言語や開発手法、最新技術を解説した書籍を多数手がけています。プロジェクトマネジメントやチームビルティングといった管理職向けの書籍も豊富です。

ITエンジニアとしてのスキルアップ・リスキリングに、ぜひお役立てください。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
シンプルなマルチメディアプログラミング向けライブラリ「SDL.NET」

オープンソースのライブラリ「SDL.NET」で始める
ゲームプログラミング ~前編~

シンプルなマルチメディアプログラミング向けライブラリ「SDL.NET」 (1)

  • X ポスト
  • このエントリーをはてなブックマークに追加

 SDLはオープンソースで開発されている、シンプルな構成のマルチメディアプログラミング向けライブラリで、その手軽さから多くのプログラミング言語向けに様々な実装が存在しています。その中から本稿では、「SDL.NET」というSDLの.NET Framework向け実装の一つを、ゲームの実装例を交えて紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 SDLというライブラリをご存知でしょうか。「SDL(Simple DirectMedia Layer)」はオープンソースで開発されている、シンプルな構成のマルチメディアプログラミング向けライブラリです。手軽さから多くのプログラミング言語向けに様々な実装が存在しています。

 その中から本稿では、2回に分けて「SDL.NET」というSDLの.NET Framework向け実装の一つを紹介しようと思います。SDL.NETはSDLの機能をほとんど内包しているほか、全体がクラスとしてほどよくまとまっており、オブジェクト指向なプログラミングと親和性がよく、スプライトやコレクションといった本家SDLにはない独自の拡張機能も備えています。また、フォントの扱いが簡単で、なおかつMonoフレームワークというマルチプラットフォームな.NET Framework実装上でも動作するという、本家にはない多くの特徴を持っています。もちろん、こちらもLGPLライセンスのもとで配布されているオープンソースなライブラリです。

 つまりSDL.NETは、SDLの持つシンプルさはそのままに、さらにプラスアルファされた使いやすい機能が提供されているSDL実装だということができます。

対象読者

 本稿では、開発環境としてVisual Studio 2008 Professional Editionを、開発言語としてC#言語を利用します。また、利用するSDL.NETのバージョンは6.1.0とします。対象読者としては、C#言語で何らかのプログラムを作ったことがあって、なおかつ手軽なゲームプログラミングに興味があり、Visual StudioやC#言語についてある程度の知識がある方を想定しています。SDLや他のゲームライブラリでのゲーム作成経験があるとなお理解しやすいと思います。

SDL.NETの導入

 早速、SDL.NETを利用するための開発環境を整えましょう。
はじめにSDL.NETの公式サイトにいき、[Download SDL.NET]というリンクから、最新版のSdlDotNetSDKを取得します(執筆時点での最新版は6.1.0です)。飛ばされた先で[Download]のリンクをクリックするとファイルリストが展開されますが、今回必要なのは「sdldotnet-6.1.0-sdk-setup.exe」というファイル(以下SDK)です。これをクリックし、適当な場所にダウンロードします。

 ダウンロードが完了したら、ダウンロードしたSDKをダブルクリックして起動し、インストールウィザードを起動させましょう。ライセンス条文としてLGPLが表示され同意を求められるほか、インストール先などを聞いてきますので、ウィザードに従ってインストールを進めてください。

 インストールが完了すれば、SDKの導入はおしまいです。導入が完了すると、スタートメニューに項目が追加され、マニュアルを参照したり、サンプルコードを参照したりできるようになります。

できあがったゲームを配布する際の注意点

 SDL.NETを利用して作成したゲームを広く一般に配布する場合、公式サイトから配布されているSDKと同じバージョンのランタイムが、相手の環境にインストールされている必要があります。従って、ランタイムをすべて配布パッケージに同梱して配布してしまうか、READMEなどのファイルにランタイムが必要である旨とランタイムがどこからダウンロードできるかを明記しておく等の対策をとる必要があります。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
簡単なプログラムの作成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
シンプルなマルチメディアプログラミング向けライブラリ「SDL.NET」連載記事一覧
この記事の著者

太田 晃(オオタ アキラ)

 ãƒ–ログ(http://repse.blogspot.com/)では、coLinux上にMinGWを用いてクロスコンパイル環境を構築し、そのうえでSDLã‚„OpenGLを使ってWindows向けのプログラムを書くとか、海外のソフトウェアを(勝手に)日本語化するとか、Windowsのインデックスサービ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3461 2009/02/17 14:00
" ); }

おすすめ

アクセスランキング

  1. 1
    オープンソーステキストエディタ「Emacs 30.1」リリース NEW
  2. 2
    C++からRustに移行した「Fish Shell 4.0」、正式リリース NEW
  3. 3
    【超時短テクニカルライティング】生成AIを活用しながら文章を見直して、よりわかりやすい文章にしよう
  4. 4
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  5. 5
    「Developers Summit 2025」講演スライド・参加ブログまとめ
  1. 6
    未経験からエンジニア転職後の年収は増額傾向にあり、アクサスが「エンジニア×転職後の年収」を調査 NEW
  2. 7
    さくらインターネット、キヤノンITソリューションズと開発した暗号化消去対応フォーム「Cipher-X」の提供を開始 NEW
  3. 8
    クロスプラットフォームフレームワーク「Lynx」がオープンソースで公開 NEW
  4. 9
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  5. 10
    ITエンジニアの技術力で事業に貢献! 「アーキテクチャ・設計」に関する講演スライドまとめ【デブサミ2025】

アクセスランキング

  1. 1
    オープンソーステキストエディタ「Emacs 30.1」リリース NEW
  2. 2
    C++からRustに移行した「Fish Shell 4.0」、正式リリース NEW
  3. 3
    【超時短テクニカルライティング】生成AIを活用しながら文章を見直して、よりわかりやすい文章にしよう
  4. 4
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  5. 5
    「Developers Summit 2025」講演スライド・参加ブログまとめ
  6. 6
    未経験からエンジニア転職後の年収は増額傾向にあり、アクサスが「エンジニア×転職後の年収」を調査 NEW
  7. 7
    さくらインターネット、キヤノンITソリューションズと開発した暗号化消去対応フォーム「Cipher-X」の提供を開始 NEW
  8. 8
    クロスプラットフォームフレームワーク「Lynx」がオープンソースで公開 NEW
  9. 9
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  10. 10
    ITエンジニアの技術力で事業に貢献! 「アーキテクチャ・設計」に関する講演スライドまとめ【デブサミ2025】
  1. 1
    ITエンジニア本大賞2025、技術書部門とビジネス書部門の大賞が決定!
  2. 2
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  3. 3
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  4. 4
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  5. 5
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  6. 6
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  7. 7
    Linuxディストリビューション「EndeavourOS Mercury」が一般提供開始
  8. 8
    ITエンジニア本大賞2025のプレゼン大会をレポート、最終決戦に臨んだ本に込められた想いとは
  9. 9
    開発者のOSS活動が会社から評価される世の中にしたい──日立製作所が専門組織設立に込めた情熱
  10. 10
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

メールバックナンバー

アクセスランキング

  1. 1
    オープンソーステキストエディタ「Emacs 30.1」リリース NEW
  2. 2
    C++からRustに移行した「Fish Shell 4.0」、正式リリース NEW
  3. 3
    【超時短テクニカルライティング】生成AIを活用しながら文章を見直して、よりわかりやすい文章にしよう
  4. 4
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  5. 5
    「Developers Summit 2025」講演スライド・参加ブログまとめ
  1. 6
    未経験からエンジニア転職後の年収は増額傾向にあり、アクサスが「エンジニア×転職後の年収」を調査 NEW
  2. 7
    さくらインターネット、キヤノンITソリューションズと開発した暗号化消去対応フォーム「Cipher-X」の提供を開始 NEW
  3. 8
    クロスプラットフォームフレームワーク「Lynx」がオープンソースで公開 NEW
  4. 9
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  5. 10
    ITエンジニアの技術力で事業に貢献! 「アーキテクチャ・設計」に関する講演スライドまとめ【デブサミ2025】

アクセスランキング

  1. 1
    オープンソーステキストエディタ「Emacs 30.1」リリース NEW
  2. 2
    C++からRustに移行した「Fish Shell 4.0」、正式リリース NEW
  3. 3
    【超時短テクニカルライティング】生成AIを活用しながら文章を見直して、よりわかりやすい文章にしよう
  4. 4
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  5. 5
    「Developers Summit 2025」講演スライド・参加ブログまとめ
  6. 6
    未経験からエンジニア転職後の年収は増額傾向にあり、アクサスが「エンジニア×転職後の年収」を調査 NEW
  7. 7
    さくらインターネット、キヤノンITソリューションズと開発した暗号化消去対応フォーム「Cipher-X」の提供を開始 NEW
  8. 8
    クロスプラットフォームフレームワーク「Lynx」がオープンソースで公開 NEW
  9. 9
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  10. 10
    ITエンジニアの技術力で事業に貢献! 「アーキテクチャ・設計」に関する講演スライドまとめ【デブサミ2025】
  1. 1
    ITエンジニア本大賞2025、技術書部門とビジネス書部門の大賞が決定!
  2. 2
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  3. 3
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  4. 4
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  5. 5
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  6. 6
    AIや統計の数式を解説する美少女VTuber「AIcia Solid Project」生みの親が語る、継続できるアウトプット活動とは?
  7. 7
    Linuxディストリビューション「EndeavourOS Mercury」が一般提供開始
  8. 8
    ITエンジニア本大賞2025のプレゼン大会をレポート、最終決戦に臨んだ本に込められた想いとは
  9. 9
    開発者のOSS活動が会社から評価される世の中にしたい──日立製作所が専門組織設立に込めた情熱
  10. 10
    GitHub、あらゆるエディタやIDEとGitHub Copilotとの統合を可能にする「Copilot Language Server SDK」を一般公開