DXRuby 1.0.3  リファレンスマニュアル

１．はじめに

１．１ 紹介

DXRubyはオブジェクト指向スクリプト言語であるRubyからDirectXを扱う為の拡張ライブラリです。
Rubyを使ってWindows用アクションゲームなどを作ることができます。
この文書はDXRubyのリファレンスマニュアルとなっております。
チュートリアルなどはSourceForge.jpのプロジェクトWikiを参照してください。

プロジェクトWiki
http://sourceforge.jp/projects/dxruby/wiki/FrontPage

※D3DX9_??.dllが無くてエラーが出る場合は、マイクロソフトのサイトからDirectX最新版をダウンロードしてください。
  どうしてもできないかたは、スタティックリンク版も用意してますので、プロジェクトWebページからダウンロードしてください。

プロジェクトWeb
http://dxruby.sourceforge.jp/

※また、プロジェクトWebには衝突判定ライブラリDXRubyExtension、背景描画ライブラリDXRubyMap、OggVorbis再生ライブラリVoxをRubyから使うラッパvox.rbも置いてあります。
  未完成な部分もありますが、用途に合わせてお使いください。

１．２ インストール方法

ダウンロードしたDRubyを展開し、DXRuby.soとinstall.rbが同じディレクトリにある状態で、install.rbを実行します。
arton氏作のActiveScriptRubyをお使いのかたはダブルクリックでOKです。


２．クラス／モジュール構成

DXRubyにはWindowモジュール/Inputモジュール/Imageクラス/Soundクラス/SoundEffectクラス/Fontクラスがあります。

    Windowモジュール・・・DXRubyのメイン制御モジュール。ウィンドウとスクリーンを扱う。
    Inputモジュール・・・入力モジュール。パッドやキーボードの入力を扱う。
    Imageクラス・・・画像のデータを扱うクラス。
    Soundクラス・・・BGM、効果音を外部ファイルから読み込んで扱うクラス。
    SoundEffectクラス・・・プログラムで簡単な音を生成するクラス。
    Fontクラス・・・フォントを扱うクラス。


３．基本的な機能の簡易リファレンス

DXRubyの基本機能を説明します。
簡単なゲームであれば、これぐらい覚えれば作ることができると思います。
各クラス/モジュールの全機能は後ろの方で説明してありますので、そちらを参照してください。


３．１ Windowモジュール
ウィンドウ生成、グラフィック描画、画面更新などを行うことができます。

Window.loop do
  ...
end

  メインループになります。
  実行されるとウィンドウ(640*480pixel)が作られ、閉じられたら終了します。
  このループは秒間60回実行(60FPS)になるよう、待ち時間が自動調整されます。

Window.draw( x, y, image )

  絵の描画をします。
  xとyは座標で、左上が(0,0)になります。
  imageはImageクラスのオブジェクトです。

Window.drawFont( x, y, string, font )

  文字の描画をします。
  stringは描画する文字列、fontはFontオブジェクトを指定してください。


３．２ Inputモジュール
キーボード・ゲームパッドの入力を扱います。

Input.x
Input.y

  ゲームパッド・キーボードの方向キーの入力を、X座標かY座標の増分(-1, 0, 1のいずれか)で返します。

Input.padDown?( button_code )
Input.padPush?( button_code )

  パッドのボタン状態をtrue(押されている)/false(押されていない)で返します。
  padDown?は押されているあいだ、padPush?は押した瞬間のみ、trueになります。
  button_codeに使える定数は以下のものです。

  P_UP（パッドの方向キー／キーボードのカーソルキーの上）
  P_LEFT（パッドの方向キー／キーボードのカーソルキーの左）
  P_RIGHT（パッドの方向キー／キーボードのカーソルキーの右）
  P_DOWN（パッドの方向キー／キーボードのカーソルキーの下）
  P_BUTTON0（パッドのボタン０／キーボードのＺ）
  P_BUTTON1（パッドのボタン１／キーボードのＸ）
  P_BUTTON2（パッドのボタン２／キーボードのＣ）
  P_BUTTON3〜15（パッドのボタン３〜１５／キーボード割り当て無し）

Input.mousePosX
Input.mousePosY

  マウスの座標を返します。

Input.mouseDown?( button )
Input.mousePush?( button )

  マウスのボタン状態をtrue/falseで返します。
  mouseDown?は押されているあいだ、mousePush?は押した瞬間のみ、trueになります。
  buttonはM_LBUTTON、M_RBUTTONでそれぞれ左ボタン、右ボタンです。

Input.keyDown?( key )
Input.keyPush?( key )

  キーボードの押下状態をtrue/falseで返します。
  keyDown?は押されているあいだ、keyPush?は押した瞬間のみ、trueになります。
  keyはキーコードで、代表的なものは以下のものです。これ以外は後ろの詳細リファレンスを参照してください。
  K_F1（F1キー）
  K_Z（Zキー）
  K_SPACE（Spaceキー）
  K_ESCAPE（Escキー）
  K_RETURN（Enterキー）


３．３ Imageクラス
画像を表すクラスです。

Image.load( filename )

  filenameの画像を読み込み、Imageオブジェクトを生成して返します。
  サポートするファイル形式はjpgとpng、bmpその他ですが、カラーキーは対応していないので透明色のある絵はpngにしてください。
Image.slice( image, x, y, width, height )  ※DXRuby1.0.3 new!

  imageにImage.loadで読み込んだImageオブジェクトを、x、y、width、heightに座標とサイズを渡すと、その部分の画像を持つImageオブジェクトを返します。
  1ファイルに複数の絵をまとめた場合に使います。


３．４ Soundクラス
音データを表すクラスです。

Sound.new( filename )

  filenameのファイルを読み込み、Soundオブジェクトを生成して返します。
  ファイル形式は.mid（BGM用）と.wav（効果音用）に対応しています。

Sound#play

  効果音として再生します。
  同時にいくつでも再生できます。
  1回再生したら終わります。

Sound#bgmplay

  BGMとしてループ再生します。

Sound#Stop

  音を停止します。


３．５ Fontクラス
フォントを表すクラスです。
Window.drawFontの引数として使用します。

Font.new( size[, fontname] )

  sizeは文字のピクセル数で指定してください。
  fontnameはフォント名で、明朝なら"ＭＳ 明朝"と指定します（間は半角スペース）。
  名前が間違っていると"ＭＳ ゴシック"指定になるようです。





-----

４．クラス/モジュールの全機能・詳細リファレンス

DXRubyの全機能を説明します。

４．１ Windowモジュール
ウィンドウ生成、グラフィック描画、画面更新などを行うことができます。

Window.loop do
  ...
end

  メインループになります。
  実行されるとデフォルト設定ではウィンドウ(640*480pixel)が作られ、閉じられたら終了します。
  このループは秒間60回実行(60FPS)になるよう、待ち時間が自動調整されます。

Window.draw( x, y, image[, z] )

  絵の描画をします。
  xとyは座標で、左上が(0,0)になります。
  imageはImageクラスのオブジェクトです。
  zは描画順序で、小さい数字が奥になります。マイナスや実数も使えます。
  省略すると0になり、同じ値の場合は最初にdrawしたものが一番奥になります。

Window.drawScale( x, y, image, scalex, scaley[, centerx[, centery[, z]]] )

  縦、横の拡大率を指定して描画します。
  1が等倍で実数が使えます。
  横に-1を設定すると左右反転、縦に-1を設定すると上下反転の絵が描画できます。

Window.drawRot( x, y, image, angle[, centerx[, centery[, z]]] )

  回転角度と中心を指定して描画します。
  angle(角度)は0を基準として、時計回りに増えていって360で一周します。
  center(中心点)は画像の左上を(0,0)とした画像の回転中心位置の指定で、省略すると画像の中心になります。

Window.drawAlpha( x, y, image, alpha[, z] )

  アルファ値を指定して描画します。
  範囲は0(完全に透明)から255(完全に不透明)までです。

Window.drawAdd( x, y, image[, z] )

  加算合成描画をします。

Window.drawSub( x, y, image[, z] )  ※DXRuby1.0.3 new!

  減算合成描画をします。

Window.drawEx( x, y, image[, hash] )  ※DXRuby1.0.3 update!

  拡縮回転半透明加算合成が同時にできます。
  hashには以下のキーが指定できます。
  :scalex  ・・・横の拡大率
  :scaley  ・・・縦の拡大率
  :centerx  ・・・回転、拡大の中心点
  :centery  ・・・回転、拡大の中心点
  :alpha  ・・・アルファ値(0〜255)
  :add  ・・・加算合成するかどうかtrue/falseで表す（将来的に消す予定です。なるべくblendキーを使用してください。）
  :blend  ・・・:alpha、:add、:add2、:subで合成方法を指定します。省略すると:alphaとなります。
                :addはソースにアルファ値を、:add2は背景に255-アルファ値を適用します。
  :z  ・・・描画順指定

Window.drawFont( x, y, string, font[, hash] )

  文字の描画をします。
  stringは描画する文字列、fontはFontオブジェクトを指定してください。

  フォントにもdrawExと同等のエフェクト機能があります。
  hashには以下のキーが指定できます。
  :scalex  ・・・横の拡大率
  :scaley  ・・・縦の拡大率
  :centerx  ・・・回転、拡大の中心点。省略すると一番左になります。
  :centery  ・・・回転、拡大の中心点。省略すると一番上になります。
  :alpha  ・・・アルファ値
  :add  ・・・加算合成するかどうかtrue/falseで表す
  :z  ・・・描画順指定
  :color  ・・・配列で[R, G, B]、それぞれ0〜255、省略すると[255, 255, 255]、白文字になります。

Window.getScreenShot( filename[, format] )

  スクリーンショットをファイルに保存します。
  formatは保存形式で、はFORMAT_JPG、FORMAT_BMPのどれかを指定してください。
  省略するとFORMAT_JPGになります。

Window.fps

  現在の画面の更新頻度(1秒間に何回更新しているか)を返します。

Window.getLoad

  現在の処理負荷を％で取得します。
  fps=で指定したFPSでの1フレームのうち、どれだけ処理時間を使っているかを表しています。

Window.openFilename( filter, title )

  ファイルオープンダイアログを表示します。
  ファイル名の文字列が返ってきます。
  filterには[["すべてのファイル(*.*)", "*.*"]["JPGファイル(*.jpg)", "*.jpg"]]のような配列を設定します。
  titleはダイアログにタイトルバーに表示される文字列を設定します。
  キャンセルされるとnilが返ります。

Window.saveFilename( filter, title )

  ファイルセーブダイアログを表示します。
  ファイル名の文字列が返ってきます。
  filterには[["すべてのファイル(*.*)", "*.*"]["JPGファイル(*.jpg)", "*.jpg"]]のような配列を設定します。
  titleはダイアログにタイトルバーに表示される文字列を設定します。
  キャンセルされるとnilが返ります。

Window.create  ※DXRuby1.0.3 new!

  ウィンドウを作成します。Window.loopの初めに同じ処理がされていますので、Window.loopを使わずに自分でゲームループを組み立てるときだけ使ってください。

Window.sync  ※DXRuby1.0.3 new!

  Window.fps=で指定されたfpsになるようにウェイトを入れます。Window.loopの中で同じ処理がされていますので、Window.loopを使わずに自分でゲームループを組み立てるときだけ使ってください。

Window.update  ※DXRuby1.0.3 new!

  画面を更新します。Window.loopの中で同じ処理がされていますので、Window.loopを使わずに自分でゲームループを組み立てるときだけ使ってください。

Window.x=val

  ウィンドウの表示位置を指定します。
  Window.loopメソッドを呼び出す前に設定してください。
  表示位置設定を行わずにWindow.loopメソッドを呼び出した場合、OSデフォルト位置に設定されます。

Window.y=val

  ウィンドウの表示位置を指定します。
  Window.loopメソッドを呼び出す前に設定してください。
  表示位置設定を行わずにWindow.loopメソッドを呼び出した場合、OSデフォルト位置に設定されます。

Window.width=val

  画面サイズ(横)が指定します。
  Window.loopメソッドを呼び出す前に設定してください。
  サイズ設定を行わずにWindow.loopメソッドを呼び出した場合、幅は640ピクセルに設定されます。

Window.height=val

  画面サイズ(縦)が指定します。
  Window.loopメソッドを呼び出す前に設定してください。
  サイズ設定を行わずにWindow.loopメソッドを呼び出した場合、高さは480ピクセルに設定されます。

Window.caption=val

  タイトルバーのキャプションが指定できます。
  設定を行わずにWindow.loopメソッドを呼び出した場合、「No Title」となります。

Window.scale=val

  ウィンドウの画面サイズに対する拡大率を指定します。
  縦横同じ比率が適用されます。
  width、heightで指定した値に、この値を掛けたものが実際のウィンドウのサイズとなります。
  設定を行わずにWindow.loopメソッドを呼び出した場合、1倍になります。

Window.windowed=val

  ウィンドウモード/フルスクリーンモードの指定を行います。
  trueを指定するとウィンドウモードで、falseでフルスクリーンモードになります。
  設定を行わずにWindow.loopメソッドを呼び出した場合、ウィンドウモードになります。
  フルスクリーンモードは60fps固定となります。

Window.fps=val

  画面の更新頻度(1秒間に何回更新するか)を指定します。
  設定を行わずにWindow.loopメソッドを呼び出した場合、60fpsに設定されます。
  処理が重くて更新頻度が保てない場合、自動的に描画をスキップします。
  nilまたは0を指定するとウェイト無しの最高速動作となります。

Window.frameskip=val

  コマ落ち制御をするかどうかを指定します。
  trueを指定すると、fps=で指定したFPSに処理が間に合わない場合、1フレームだけ描画処理を省きます。
  描画を省いてでもfps=の動作間隔を守るモードです。
  falseを指定すると、fps=で指定したFPSに処理が間に合わなくても可能な限りの速度で動作し続けます。
  この場合、FPSは高くなりますが、ゲーム全体が遅くなります。
  指定しないとfalseになります。

Window.bgcolor=val

  画面のクリア（毎フレーム自動的にされます）時に使う色を指定します。
  [r, g, b]の配列を渡します。

Window.minfilter=val  ※DXRuby1.0.3 new!
Window.magfilter=val  ※DXRuby1.0.3 new!

  Window.scaleやdrawExのscalex/yキーで拡大・縮小をする場合に使用されるフィルタを選択します。
  minfilterは縮小時、magfilterは拡大時です。
  指定可能な定数は以下のものです。
  TEXF_POINT・・・単純拡大・縮小フィルタ
  TEXF_LINEAR・・・線形補間フィルタ
  TEXF_GAUSSIANQUAD・・・4-サンプルガウスフィルタ
  省略すると線形補間フィルタとなります。


４．２ Inputモジュール
キーボード・ゲームパッドの入力を扱います。

Input.x( pad_number )
Input.y( pad_number )

  パッドの方向キーの入力を、X座標かY座標の増分(-1, 0, 1のいずれか)で返します。
  pad_numberは省略すると0(パッド０もしくはキーボード）になります。

Input.keyDown?( key_code )
Input.keyPush?( key_code )

  キーボードのキーの押下状態をtrue(押されている)/false(押されていない)で返します。
  keyDown?は押されているあいだ、keyPush?は押した瞬間のみ、trueになります。
  key_codeに使える定数は以下のものです。

  K_ESCAPE
  K_TAB
  K_RETURN（フルキーのEnter）
  K_LCONTROL
  K_LSHIFT
  K_LMENU（ALTキー）
  K_SPACE
  K_A（アルファベットいろいろ）
  K_1（フルキーの数字いろいろ）
  K_F1（ファンクションキーいろいろ）
  K_NUMPAD0（テンキーの数字いろいろ）
  K_NUMPADENTER
  K_UP
  K_LEFT
  K_RIGHT
  K_DOWN


Input.padDown?( button_code[, pad_number] )
Input.padPush?( button_code[, pad_number] )

  パッドのボタン状態をtrue(押されている)/false(押されていない)で返します。
  padDown?は押されているあいだ、padPush?は押した瞬間のみ、trueになります。
  pad_numberは省略すると0(パッド０もしくはキーボード）になります。
  button_codeに使える定数は以下のものです。

  P_UP
  P_LEFT
  P_RIGHT
  P_DOWN
  P_BUTTON0（ボタン１５まで）

  pad_number0の時、P_BUTTON0はZ、P_BUTTON1はX、P_BUTTON2はCが割り当てられています。

Input.setRepeat( wait, interval )

  keyPush?、padPush?メソッドを、オートリピートモードにします。
  waitは初めの入力があってから、リピート開始するまでの時間（フレーム数）を表します。
  intervalはリピート開始してからの、入力がONになる間隔（フレーム数）です。
  両方を1にすると毎フレーム入力、つまりkeyDown?/padDown?と同じ動作になります。
  両方を0にすると解除です。

Input.mousePosX
Input.mousePosY

  マウスの座標を返します。

Input.mouseDown?( button )
Input.mousePush?( button )

  マウスのボタン状態をtrue/falseで返します。
  mouseDown?は押されているあいだ、mousePush?は押した瞬間のみ、trueになります。
  buttonはM_LBUTTON、M_RBUTTONでそれぞれ左ボタン、右ボタンです。

Input.mouseWheelPos
Input.mouseWheelPos=val

  マウスのホイール位置を設定または取得します。

Input.mouseEnable=val

  マウスカーソルがウィンドウ上にある場合に、カーソルを描画するどうかを指定します。
  trueで描画、falseで描画しないになります。
  初期値はtrueです。

Input.update  ※DXRuby1.0.3 new!

  入力情報を更新します。
  Window.loopの中で同じ処理がされていますので、Window.loopを使わずに自分でゲームループを組み立てるときにだけ使ってください。
  通常はfalseを返しますが、Windowを閉じる操作がされたときにtrueを返します。


４．３ Imageクラス
画像を表すクラスです。

Image.new( width, height[, color] )

  width(幅)/height(高さ)で表されるサイズの、全ピクセル透明色なImageオブジェクトを生成して返します。
  color（[a, r, g, b]それぞれ０〜２５５の配列です）を指定すると全体がその色で初期化されます。

Image.load( filename[, x[, y[, width[, height]]]] )  ※DXRuby1.0.3で引数が変わっています

  filenameの画像を読み込み、Imageオブジェクトを生成して返します。
  x/y/width/heightを指定するとその部分のみ切り出してImageオブジェクトを生成します。
  サポートするファイル形式はjpgとpng、bmpその他ですが、カラーキーは対応していないので透明色のある絵はpngにしてください。
Image.slice( image, x, y, width, height )  ※DXRuby1.0.3 new!

  imageにImage.loadで読み込んだImageオブジェクトを、x、y、width、heightに座標とサイズを渡すと、その部分のImageオブジェクトを返します。
  1ファイルに複数の絵をまとめた場合に使います。

Image.loadToArray( filename, xcount, ycount )

  filenameの画像を読み込み、横・縦がそれぞれxcount個、ycount個であると仮定して自動で分割し、
  左上から右に向かう順序でImageオブジェクトの配列を生成して返します。
  サポートするファイル形式はjpgとpng、bmpその他ですが、カラーキーは対応していないので透明色のある絵はpngにしてください。

Image.createFromArray( width, height, array )

  色情報を格納した配列からImageオブジェクトを生成して返します。
  配列はalpha, red, green, blueの４つをピクセル数分並べたものです。
  例)32×32ピクセルの白い四角は[255, 255, 255, 255] * 32 * 32と指定します。

Image#[x, y]

Imageオブジェクトの該当ピクセルの色を配列で取得します。
配列は[a, r, g, b]となります。
それぞれ0〜255の範囲です。

Image#[x, y]=color

Imageオブジェクトの該当ピクセルに色を設定します。
colorは配列で、[a, r, g, b]と指定します。
それぞれ0〜255の範囲です。

Image#.compare(x, y, color)

Imageオブジェクトの該当ピクセルの色がcolorと一致するかどうかをtrue/falseで返します。
colorは配列で、[a, r, g, b]と指定します。
それぞれ0〜255の範囲です。

Image#line(x1, y1, x2, y2, color)

Imageオブジェクトの(x1,y1)-(x2,y2)に線を描画します。

Image#box(x1, y1, x2, y2, color)
Image#boxFill(x1, y1, x2, y2, color)  ※DXRuby1.0.3 new!

Imageオブジェクトの(x1,y1)-(x2,y2)の範囲を塗りつぶします。
Image#boxは将来的に塗りつぶさない四角の描画になる予定です。boxFillを使うようにしてください。

Image#circle(x, y, r, color)

Imageオブジェクトの(x,y)を中心とした半径rの円を描きます。

Image#circleFill(x, y, r, color)

Imageオブジェクトの(x,y)を中心とした半径rの円を描き、塗りつぶします。

Image#fill(color)  ※DXRuby1.0.3 new!

Imageオブジェクトの全体をcolorで塗りつぶします。

Image#copyRect(x, y, image[, x1[, y1[, width[, height]]]] )  ※DXRuby1.0.3 new!

selfのオブジェクトのx/yの位置に、imageで指定したオブジェクトのx1/y1/width/heightで指定した部分をコピーします。
α値を無視した単純コピーです。

Image#draw(x, y, image[, x1[, y1[, width[, height]]]] )  ※DXRuby1.0.3 new!

selfのオブジェクトのx/yの位置に、imageで指定したオブジェクトのx1/y1/width/heightで指定した部分をコピーします。
α値を考慮して半透明演算されます。

Image#drawFont(x, y, string, font[, color] )  ※DXRuby1.0.3 new!

selfのオブジェクトのx/yの位置に、fontで指定したフォントオブジェクトでstringを書き込みます。
colorは色配列で[r, g, b]を指定してください。
省略すると[255, 255, 255]の白文字となります。


４．４ Soundクラス
音を表すクラスです。

Sound.new( filename )

  filenameのファイルを読み込み、Soundオブジェクトを生成して返します。
  ファイル形式は.mid（BGM用）と.wav（効果音用）に対応しています。

Sound#play

  効果音として再生します。
  同時にいくつでも再生できます。
  1回再生したら終わります。

Sound#bgmplay

  BGMとして再生します。
  start、loopstart、loopend、loopcountをあらかじめ設定しておくと、部分ループなども可能となっています。

Sound#start=

  再生開始位置を設定します。
  初期値は0で、4分音符１個分で768です。

Sound#loopStart=
Sound#loopEnd=
Sound#loopCount=
  ループ時の開始位置と終了位置、ループ回数を設定します。
  開始位置、終了位置の初期値は0で、4分音符１個分で768です。
  ループ回数は初期値は1です。

Sound#stop

  音の再生を止めます。

Sound#setVolume( volume[, time] )

  ボリュームを設定します。
  volumeは0〜255で、255が最大です。
  初期値は230となっています。
  timeは現在の値から設定値までの変化にかける時間で、ミリ秒単位で指定します。
  省略すると0（即時に変更）となります。


４．５ SoundEffectクラス
効果音を生成するクラスです。
矩形波で、周波数とボリュームを1ms単位で変化させることができます。

SoundEffect.new( time[, wavetype[, resolution]] ) { ... }

  効果音を生成します。
  timeはミリ秒単位の時間です。
  ブロックは、1ミリ秒ごとの周波数とボリュームの変化を返す式を書きます。
  timeの数だけ呼ばれます。
  ブロックが返す値は配列で、[周波数, ボリューム]としてください。
  周波数は44.1kHzまで、ボリュームは0が無音で最大255までです。
  wavetypeは基本波形の形状で、WAVE_SIN(サイン波)、WAVE_SAW(ノコギリ波)、WAVE_TRI(三角波)、WAVE_RECT(矩形波)が指定できます。
  省略すると矩形波になります。
  resolutionは分解能で、省略値は1000(1秒あたり1000回呼び出される)です。
  最大44100まで指定できます。

メソッド

SoundEffect#play

  効果音を再生します。
  同時にいくつでも再生できますが、1つのSoundEffectオブジェクトは同時に1つしか再生できません。
  1回再生したら終わります。

SoundEffect#stop

  音の再生を止めます。


４．６ Fontクラス
フォントを表すクラスです。
Window.drawFontの引数として使います。

Font.new( size[, fontname] )

  sizeは文字のピクセル数で指定してください。
  fontnameはフォント名で、明朝なら"ＭＳ 明朝"と指定します（間は半角スペース）。
  名前が間違っていると"ＭＳ ゴシック"指定になるようです。
  実行するWindowsシステムにインストールされているフォントが使用可能です。


５．ライセンス

DXRuby0.0.9まではLGPLとRubyライセンスのデュアルライセンスでしたが、もっと緩くしようと思い、DXRuby1.0.0からはMITライセンスに変更します。
0.0.9以前をベースにして何かする場合はLGPL/Rubyライセンスとなりますので気をつけてください。

添付のサンプルスクリプトは全てパブリックドメインとします。著作者人格権は行使しません。
そのまま使うなり、改造するなり、著作権表示など一切いりませんのでご自由にどうぞ。
添付の画像ファイルはあみさんの著作物ですので、勝手な転載などは禁止します。


６．更新履歴

2009/05/28 1.0.3 Image.load引数変更
                 Window.create、Window.update、Window.sync、Window.minfilter=、Window.magfilter=、Window.setViewport、
                 Window.drawSub、Image.slice、Image#copyRect、Image#draw、Image#drawFont、Image#boxFill、Image#fill、
                 Input.update追加
                 Window.drawExに:blendキー追加
                 コンパイラの最適化オプション有効化
                 Image#lineアルゴリズム修正
2009/05/18 1.0.2 Intel915/945シリーズの内蔵グラフィックス使用PCで動作しない不具合修正
2009/05/16 1.0.1 インストーラ不具合修正
2009/05/15 1.0.0 安定版リリース、ライセンスをMITライセンスに変更

2009/05/09 0.0.9 GC負荷安定、エラーチェック強化、ウィンドウのフォーカスが外れた時の処理追加
2009/05/06 0.0.8 フォント描画の効果追加、FPS制御修正
2009/05/04 0.0.7 Image描画をD3DXSpriteから自前描画に変更して描画性能向上
2009/04/23 0.0.6 Soundクラスの各種制御機能追加、加算合成対応、キー入力オートリピート機能追加
2009/04/19 0.0.5 SoundEffectクラス追加
2009/04/15 0.0.4 Image.newをImage.loadに変更、Image.newは透明色のみのイメージ作成へ変更。Input.xxxPush?追加
2009/04/12 0.0.3 Fontクラス追加、Imageオブジェクト編集機能追加
2009/04/06 0.0.2 不要なメソッド削除などの簡素化を行い、SourceForge.jpにて公開
2005/未明  0.0.1 プロトタイプ完成
