DXRuby今後

まあ、とりあえずはソースとリファレンスマニュアルをアップしないといけないのだが。
0.0.2で修正したからリファレンスはいろいろ書き直さないといけない。
シンプルなサンプルコードは以前ブログに書いたが、0.0.1で同等のものを作ると以下のようなコードになる。

# data.bmpがカーソルキーで動くサンプル
require 'dxruby'

x = 0                         # x座標の変数
y = 0                         # y座標の変数
image = Image.new("data.bmp") # data.bmpを読み込む

Window.create                 # ウィンドウ生成

Window.loop do                # メインループ
  Input.update                  # 入力情報更新

  d = Input.xy(0)
  x = x + d[0]               # 横方向の入力でx座標を変更
  y = y + d[1]               # 縦方向の入力でy座標を変更

  Window.draw(x, y, 0, image)   # data.bmpを座標の位置に表示
  Window.update                 # 画面更新
  Window.sync(60)               # fps調整
end

0.0.2ではWindow.create、Input.update、Window.update、Window.syncが無くなった。
柔軟なコーディングができたらいいなあと思って作ってあったメソッドだが、正直いらないからWindow.loopに組み込んで消してしまった。
Input.xyはInput.xとInput.yに分離させたし、引数を省略可能にした。
もとはxとyを配列で返す仕様だったが、配列を知らないと最低限のコードも書けないのは問題だと思うからだ。
いろんなことができる必要はなく、とことん簡単にするのをDXRubyの方針とした。


Window.drawの3つめの引数は描画優先順位で、これもいらない気がする。
imageの後ろに移動して省略可能にするのがよい。
なくしてしまってもいいぐらいだ。
消すか。
よし、0.0.3では消そう。
すでにリリースしてから引数を変更すると互換性がなくなるが、なによりも簡単を優先するのがDXRubyのポリシーだ。
β版になる頃には仕様も固まっているだろう。


DXRuby0.0.2では、基本的な画像とキー・パッド・マウス入力、DirectSoundとDirectMusicによる効果音とBGMを実装している。
今後、追加しないとあかんのはフォント関連。
それから、音まわりがテスト実装状態だから、もうちょっと調べてきちんとしないといけない。
でも、そういう実装よりもDXRubyWikiの情報を充実させるほうが先かもしれない。
リファレンスマニュアルも。

統計情報から

DXRubyのリリースをSourceForge.jpのニュースにのっけた。
ついでに全体ニュースとして流してもらうチェックをつけたら、トップページの新着情報にのってしまった。
統計情報を見ると、その日に350ほどヒットしている。
Googleさまで検索してみると、SourceForge.jpの新着情報はいろんなサイトで参照されているらしい。
泣けてくるほどしょぼいけど、ひとつのオープンソースプロジェクトとして立派に宣伝されてしまっている。
こういうのを分不相応というのだ。
RubyForgeでひっそりやればよかったかもしれない。
でもあそこは英語だから・・・orz
ちなみにパッケージのダウンロードは現時点で0。
オープンソースプロジェクトに興味を持つような人で、超初心者向けライブラリを使おうって人はいない、ということだろう。
今後、ターゲットユーザーの目に止まるようにするためには、もう少し情報量を増やしたりしていかないといけない。
少なくとも、「ruby directx」で検索して出てくるようになってくれないと。