DXRuby 1.4.6 リファレンスマニュアル
目次
はじめに
DXRubyは、オブジェクト指向スクリプト言語RubyからDirectXを扱う為の拡張ライブラリです。
Rubyを使ってWindows用2Dアクションゲームなどを作ることができます。
このヘルプファイルはDXRubyのリファレンスマニュアルとなっております。
- プロジェクトWeb http://dxruby.osdn.jp/
また、貧弱なオーディオ関連を補間するためのオーディオライブラリAyame/RubyをWikiに置いてありますのでご利用ください。DXRuby用のサンプルコードもここに置いてあります。
- プロジェクトWiki https://github.com/mirichi/dxruby-doc/wiki
マニュアル
チュートリアル
リファレンス
TIPS
DXRubyの特徴
DXRubyは以下のような特徴を持つライブラリです。
- RubyからDirectXを自然に扱える、Rubyと親和性の高い設計がされています。
- 初心者でも簡単に使えるよう、非常にシンプルなAPI構成になっています。
- 描画が速いので、遅いといわれるRubyでも普通にゲームが作れるぐらいの実行速度が出ます。
- Ruby2.3~2.6に対応しています。自分でコンパイルできればそれ以降でも動くと思います。
- 配布しやすいよう、コンパクトな拡張ライブラリとなっています。
また、デメリットとしては以下のものがあります。
- DirectXを扱うのでWindows専用となります。
- 2Dゲーム専用です。
- 複雑なことを行うAPIは提供していません。
DXRubyが提供する機能は大まかに以下のものです。
- 画像の読み込み、描画
- 画像の編集
- キーボード、マウス、ゲームパッド(アナログ含)の入力
- MIDI、WAVファイルの読み込み、再生、ループ設定、フェードイン/アウト
- 文字表示
- FPS自動調整
- 高速な衝突判定
- HLSLを使ってシェーダプログラミングが可能
DXRubyを実行するのに必要な環境は以下のものです。
- Ruby本体
- mingw32のRuby2.3~2.6(RubyInstallerでインストールすればOKです)。
- ActiveScriptRuby同梱版など、mswin32/mingw32以外でもそれ用にコンパイルされていれば動作します。
- 64bit版Rubyでは動作しません。64bitOSでも32bit版Rubyをお使いください。
- OS
- Windows2000以降
- DirectX
- 9.0c以降
インストール方法
注意
arton氏作のActiveScriptRubyの場合は、ActiveScriptRuby同梱のバージョンをお使いください(入っていれば)。
その他のWindows用パッケージでmingw32のRuby(RubyInstller for Windowsなど)を使っている方は
gem install dxruby
でどうぞ。
ライセンス
DXRuby本体は1.2.0安定版から、DXRubyExtensionは1.0.3からzlib/libpngライセンスを採用しています。
添付のサンプルスクリプト及びドキュメント内のスクリプトは全てパブリックドメインとします。著作者人格権は行使しません。
そのまま使うなり、改造するなり、著作権表示など一切いりませんのでご自由にどうぞ。
添付のさる画像はあみさんの著作物ですので、勝手な転載・複製などは固く禁じます。
他、画像を頂いた先は以下です。
ルール画像
背景画像
世界地図
デフォルトアイコンは鳴海つかささま。
それ以外の絵は水視アズマさま(GPL)。
zlib/libpngライセンスの詳細は原文(英語)を読んでいただくのが一番よいのですが、簡単に説明するとこんな感じです。
- 無制限に扱うことを無償で許可する。
- ソースを改変する場合に限り、著作権表示を含めること。
- 何が起きても責任は持ちません。
要するに、何かあっても知らないけど自由にどうぞ、ということです。
使うだけでは著作権表示がいらないぶん、1.0.9以前で採用していたMITライセンスよりももうちょっとゆるくなっています。
また、著作権表示は以下のものです。
これそのものがzlib/libpngライセンス自体の原文で、上記のようなことが書いてあります。
The zlib/libpng License
Copyright (c) <2012> <DXRubyDevelopers>
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.