1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
|
Ruby/SDL 2.2.0
大林一平
= 概要
これは、RubyからSDLの機能を使うための拡張ライブラリです。
SDLとは、Win32,Linux,BeOS,MacOS,FreeBSD,Solaris等で動く、クロスプラットフォームなゲーム開発用ライブラリです。
= 動作環境
LinuxのX上、Win32
また、FreeBSDで動作が確認され、Portsが作られたそうです。
BeOS上でも動くそうです。
MacOSXでも動いたそうです。ただしRubyに手を入れる必要があるようです。
それ以外では確認していません。
= 必要なライブラリ
このライブラリは、rubyの処理系の他、以下のライブラリを必要とします。
SDL_mixer,SDL_ttf,SDL_image,SGE,smpeg,SDLSKKはなくてもかまいません。
SDL(必須) http://www.libsdl.org/
SDL_mixer(オプション) http://www.libsdl.org/projects/SDL_mixer/index.html
SDL_ttf(オプション) http://www.libsdl.org/projects/SDL_ttf/index.html
SDL_image(オプション) http://www.libsdl.org/projects/SDL_image/index.html
SGE(オプション) http://www.etek.chalmers.se/~e8cal1/sge/
SMPEG(オプション) http://www.icculus.org/smpeg/
SDLSKK(オプション) http://www.kmc.gr.jp/~ohai/sdlskk.html
また、SDL_kanjiを利用していますが、これはアーカイブに含めているので
別に用意する必要はありません。
= インストール
Linux上でのインストールを説明します。Unix系のOSならどれでも同じよう
にできると思います。
Debian、Vine、その他様々なディストリビューションにはRuby/SDLのパッケージ
があるのでそれを利用してもよいでしょう。
Windows上では別に用意しているバイナリを使用したほうが楽でしょう。
FreeBSDにはPortがあるのでそれを利用してください。
(1)rubyのインストール
rubyのドキュメント等に従ってインストールしてください。
(2)SDLのインストール
ソースを展開してコンパイルする場合は、以下の通りにしてください。
./configure
make
make install
(3)SGEのインストール
make; make installでインストールされます。
(4)SDL_mixer,SDL_ttf,SDL_image,SMPEG,SDLSKKのインストール
附属のドキュメントに従ってインストールしてください。
(5)この拡張ライブラリ(Ruby/SDL)のインストール
このライブラリのソースを展開したディレクトリ内で
ruby extconf.rb
make
make install
としてください。
(6) (MacOS Xのみ) rsdl のインストール
gem install rsdl で rsdl をインストールしてください。
= Gemによるインストール
gem でもインストールできます。
gem install rubysdl
です。
= SGEをインストールせずに使う
Ruby/SDLが内部で SGE を持っています。
gem install rubysdl -- --enable-bundled-sge
もしくは
ruby extconf.rb --enable-bundled-sge
で使えます。
ただし、この仕組みはできれば使わないでください。
SGEが別にインストール可能ならそちらを使ってください。
= 使い方
require 'sdl'で使えます。
MacOS Xの場合のみ、 ruby コマンドでなく rsdl コマンドで
インタプリタを起動してください。
詳しくは、以下のファイルやドキュメントを見てください。
sample/*.rb サンプル
以下のサンプルがあります。
testsprite.rb 画像表示のサンプル
playwave.rb PCMファイル演奏のサンプル sample.wav が必要
movesp.rb キー入力のサンプル
alpha.rb アルファブレンディングのサンプル
sgetest.rb sgeのプリミティブ描画のサンプル
font.rb True Type Fontのサンプル
playmod.rb modファイル演奏のサンプル sample.it が必要
testgl.rb OpenGLのサンプル
cursor.rb マウスカーソルを変更するサンプルp
transformblit.rb 回転縮小拡大のサンプル
joy2.rb ジョイパッド入力のサンプル
plaympeg.rb mpeg表示のサンプル sample.mpgが必要
sdlskk.rb SDLSKKのサンプル。フォントや辞書等必要
詳しくはサンプルのコメントを見てください
bfont.rb ビットマップフォント表示のサンプル
kanji.rb SDL_Kanji機能のサンプル。8x16.bdfとjiskan16.bdf
という2つのbdfファイルが必要
collision.rb 衝突検出機能のサンプル
その他
rubysdl_ref.rd, rubysdl_ref.html リファレンス
Ruby/SDLのリファレンスマニュアルです。
rubysdl_doc_old.rd 古いリファレンス
古いリファレンスです。
SDLのドキュメント
SDLのインストールのときに展開したファイルの中にあるはずです。
また、 http://www.tacoworks.jp/software/SDLdoc-jp/index-j.html
から日本語のドキュメントも手に入ります。
リファレンスに書かれていないことはこれを見てください。
doc/
Makefile
rsd.rb
*.rsd
リファレンスマニュアルの元データです。
= OpenGLについて
このライブラリによってOpenGLへのアクセスが可能になります。
(1) SDLからOpenGLを使えるように設定する。
(2) http://ruby-opengl.rubyforge.org/ をインストールする。
(3) ruby extconf.rb をするときに、--enable-opengl を指定する。
(4) make ; make install する。
この場合はRubyのスクリプト内でrequire 'opengl'をする必要があります。
インターフェースは ruby-opengl そのものなので、
これの使いかたは、SDLのドキュメント、OpenGLのドキュメント、
および sample/testgl.rb を見て調べてください。
= ライセンス
GNU LGPL(GNU Lesser General Public License) version 2.1 以降に従います。
詳しくはLICENSEを見てください。
ただし、sample/ 以下にあるサンプルプログラムはこれには従わず、
自由に利用してよいです。
= 謝辞
以下の人達に感謝します。
* FreeBSDでの動作確認をし、Portsを作っていただいたAkinori MUSHAさん。
* さまざまな意見を送ってくださり、いくつものパッチを送ってくださったり
したたむらさん。
* そしてもうひとつのSDLのRuby拡張ライブラリ"RUDL"の作者である
Danny van Bruggen さん(いくつかのアイデアをこのライブラリから得ました)。
* rubysdl_ttf.cの機能拡張パッチやVine、Debianのパッケージ作成などを
していただいたやまだあきらさん。
* いくつかのパッチを下さった Wayne Conrad さん、Christian Neukirchenさん、
Keffin Barnabyさん。
* サンプルを提供してくださった Simon Strandgaard さん。
* 有用な情報、バグレポートをくださった Rorien Dunnさん、Dennis Rankeさん、
Keita Urashima, Dwayne C. Litzenberger さん。
* SDLの存在を教えてくれ、Ruby/SDLを作るきっかけを与えてくれた田畑さん。
* SDLdoc 日本語翻訳プロジェクトにかかわったみなさま
* サンプル用のフォントを提供してくれた原さん。
* #sdl-fan-jp@friend chat のみなさま
* Windows版の管理をしてくださるサイロスさん
= その他
まだテストされていない機能が多くあります(パレット関連
やMPEG関連のメソッドいくつかなど)。
= 作者
大林一平: いろいろ
サイロス誠: Windowsサポート
yhara: MacOS Xサポート
要望、バグ報告、使用した感想等は、ohai@kmc.gr.jpにメールを出して
ください。
以上
|