ゲーム全体を管理するクラスです。
(Ver 0.2.0 以前はモジュールでした。)
Ver 0.2.0 からの移行
Ver 0.2.0 までは以下のように書いていました。
Game.title = "Foo"
Game.fps = 30
Game.run(320, 240) do
Game.terminate if Input.keys(:keyboard).include?(:escape)
Game.screen.clear
end
Ver 0.3.0 からは以下のように書くことが推奨されます。
Game.run(320, 240, :title => "Foo", :fps => 30) do |game|
break if Input.keys(:keyboard).include?(:escape)
game.screen.clear # Game.current.screen.clear でも可
end
クラスメソッド
Game.current-
現在ゲームが実行中ならその
Gameオブジェクトを返します。そうでない場合は nil を返します。 Game.fpsGame.fps=(fps)-
(Ver 0.3.0 からは非推奨です。代わりに
Game#fps/Game#fps=メソッドを使ってください。)FPS の目標値を取得または設定します。デフォルトは 30 です。
Game.new(width, height, options = {})-
ゲームループを自分で制御する場合に使います。通常は使う必要はありません。
新しい
Gameオブジェクトを取得します。引数はGame.runメソッドと同じです。ゲーム実行中に呼ぶとエラーになります。
Game.real_fps-
(Ver 0.3.0 からは非推奨です。代わりに
Game#real_fpsメソッドを使ってください。)実際の FPS を取得します。
Game.screen-
(Ver 0.3.0 からは非推奨です。代わりに
Game#screenメソッドを使ってください。)ゲーム画面の最終出力 (
Texture) を取得します。 Game.run(width, height, options = {}) {|game| ... }-
ゲームを開始します。指定されたブロックを毎フレーム実行します。
ゲーム画面の解像度を、
widthおよびheightで指定します。ブロックの引数
gameは、Gameオブジェクトをとります。optionsにはHashを指定します。指定できるキーと値は、以下の通りです。キー 値 デフォルト値 :cursorカーソルを表示するか否かを表す真偽値。 (Ver. 0.1.16 から) false:fpsFPS をあらわす整数値。 (Ver. 0.3.0 から) 30:fullscreenフルスクリーンにするか否かを表す真偽値。 (Ver. 0.1.12 から) false:titleタイトルをあらわす文字列。 (Ver. 0.3.0 から) "":window_scaleウィンドウの拡大率。 1 Game.runメソッドは以下のように定義されるのとほぼ同様です。def Game.run(*args) game = Game.new(*args) begin loop do game.wait game.update_state break if game.window_closing? yield(game) game.update_screen end ensure game.dispose end end Game.running?-
(Ver 0.3.0 からは非推奨です。)
ゲームが実行中ならば
trueを、それ以外の場合はfalseを返します。 Game.terminate-
(Ver 0.3.0 からは非推奨です。代わりに
breakを使ってください。)ゲームを終了させます。
Game.ticks-
プログラム実行からのミリ秒を取得します。
実装の都合上、 49 日程度でオーバーフローし、 0 に戻ります。
Game.titleGame.title=(title)-
(Ver 0.3.0 からは非推奨です。代わりに
Game#title/Game#title=メソッドを使ってください。)ゲームタイトルを取得または設定します。
インスタンスメソッド
dispose-
ゲームループを自分で制御する場合に使います。通常は使う必要はありません。
ゲームを終了します。
disposed?-
ゲームループを自分で制御する場合に使います。通常は使う必要はありません。
dispose が呼ばれていたら true を、そうでない場合は false を返します。
fpsfps=(fps)-
FPS の目標値を取得または設定します。デフォルトは 30 です。
fullscreen?fullscreen=(fullscreen)-
フルスクリーンかどうかをあらわす真偽値を取得、設定します (Ver 0.3.3 から)。
real_fps-
実際の FPS を取得します。
screen-
ゲーム画面の最終出力 (
Texture) を取得します。 titletitle=(title)-
ゲームタイトルを取得または設定します。
update_screen-
ゲームループを自分で制御する場合に使います。通常は使う必要はありません。
画面を更新します。
update_state-
ゲームループを自分で制御する場合に使います。通常は使う必要はありません。
入力状態、オーディオの状態などを更新します。
wait-
ゲームループを自分で制御する場合に使います。通常は使う必要はありません。
FPS にあわせて適切にウェイトします。
window_closing?-
ウィンドウが閉じられようとしたときに true を、そうでない場合に false を返します。
window_scalewindow_scale=(window_scale)-
ウィンドウの拡大率を取得、設定します (設定は Ver 0.3.3 から)。