mruby for Pad Game System system.rb ドキュメント

Spriteモジュール

テクスチャを管理するモジュール。テクスチャ画像を読み込み、それをセルに切り分けて管理します。
Sprite.clear
ロードされているスプライトすべてを廃棄します。
Sprite.update
ムービーテクスチャのアップデートをします。Game.updateで呼んでください。
Sprite.load (key,String filename[,Boolean loopflag=true,Boolean hasalpha=false])
スプライトをロードします。rubyのハッシュのキーには数値も文字列もシンボルも使えるので、状況で使い分けてください。
これは画像を読み込む関数です。セルの切り分け等は他の関数で行います。デフォルトでは、全体をセル0とみなします。
filenameにはNMVファイルも指定できます。この場合ムービーテクスチャになります。ムービーテクスチャの場合はループするかどうか、α値を持つムービーかどうかを指定できます。
filenameに"*幅,高さ,色"(例:"*800,600,0xFFFFFFFF")とすれば塗りつぶし画像を指定できます。
Sprite.setcelldata(key,celldata)
読んだスプライトをセルに切り分ける情報を設定する関数です。
jsonで読み込んだ配列データを割り当ててください。
Sprite.slice(key,Fixnum w,Fixnum h)
読んだスプライトをセルに切り分ける関数です。幅と高さで格子状に切り分けます。
Sprite.gettexture(key) → Texture
テクスチャオブジェクトを返します。
Sprite.delete(key)
指定されたスプライトを削除します。
Sprite.copy(key_dest,key_src)
key_destで指定されたキーのスプライトを作成し、key_srcで指定されたキーのスプライトをコピーします。
テクスチャを加工したいけど元のものも残しておきたい、というようなときに使えます。
Sprite.draw(key,Fixnum cell)
キーとセルを指定し、描画します。Draw.fromとDraw.putを内部で呼び出します。
Sprite.get(key,Fixnum cell) → [Texture tex,Fixnum sx,Fixnum sy,Fixnum sw,Fixnum sh]
キーとセルを指定し、Textureインスタンス、転送元x,y,幅、高さの情報が入った配列を得ます。見つからなかった場合はnilが戻ります。
Sprite.isplaying(key)→Boolean
キーで指定されたスプライトがムービーテクスチャである場合、再生中ならtrue、停止していればfalseを返します。
ムービーテクスチャでない場合は常にfalseを返します。
Sprite.monotone(key,color)
スプライトを指定した色(0xAARRGGBB)でモノトーンにします。
Sprite.mask(key)
スプライトをアルファチャンネル化(アルファ値だけが残った白色画像)にします。

Taskモジュール

シンプルに実装されたタスクシステムです。
Task.add(key,task,priority)
タスクを登録します。ハッシュのキーとTaskObjectを継承したオブジェクトと優先度(小さいほうが先に実行される)を指定します。
実際の登録作業は、Task.updateの開始時に行われます。Task.update中に実行した場合は、次のTask.updateの頭で登録されます。
Task.delete(key)
タスクを削除します。
実際の削除作業は、Task.updateの開始時に行われます。Task.update中に実行した場合は、次のTask.updateの頭で削除されます。
Task.clear
すべてのタスクを削除します。
実際の削除作業は、Task.updateの開始時に行われます。Task.update中に実行した場合は、次のTask.updateの頭で削除されます。
Task.update
すべてのタスクを優先度順に実行します。Game.updateから呼び出してください。
Task.finalize
タスクすべてのdeleteを呼び出してタスクシステムを終了します。
Game.finalizeから呼び出してください。

TaskObjectクラス

Taskモジュールに登録するタスクを表現するクラスです。
これをそのまま使うのではなく、継承して使います。
TaskObject.new→TaskObject
初期データは派生クラスをnewで作成する時に構築してください。
tobj.update
Task.updateを呼び出すと、それぞれのTaskObjectのupdateメソッドが優先度順(小さいほうが先)に呼び出されます。
tobj.delete
タスクが削除されるときにそれぞれのdeleteメソッドが呼ばれます。