RUDLを試してみた
プロの人も使っているらしいRUDL。
しろりん氏のゲーム講座もRUDLだし、いったいどういうものだろうか、と。
いつものように、ゲーム開発のハブサイトさまの比較サンプルで。
http://ruby-game-dev.org/wiki/index.php
ようするにSDLのラッパーなので、サーフェイスなどの考え方はRuby/SDLと似たような感じ。
しかし日本語の解説が見当たらない。
一応動いてはいるようだが使い方が合っているかどうかは不明。
フレームレート調整はRUDL同梱のutil/frame_timerで。
Ruby/SDLと比べるとメソッドが非常に少なく、シンプルでわかりやすい。
かわりにそのぶんできることは減っているのだろう。
require 'RUDL';include RUDL;include Constant require 'frame_timer' require 'sprite' # Sprite オブジェクトの配列を初期化する。 sprites = Array.new(200){ Sprite.new } # 画面のサーフェイスを取得する screen = DisplaySurface.new([640, 480], HWSURFACE, 32) # スプライトに用いる画像を読み込む。 surface= Surface.load_new "ruby.png" surface.set_colorkey [139,0,0] timer = FrameTimer.new(30) # メインループ loop do # windowを閉じるかESCキーが押されていたら終了する。 EventQueue.get.each do |event| case event when QuitEvent exit when KeyDownEvent exit if event.key==K_ESCAPE end end # 画面を初期化する。 screen.fill([0, 0, 0]) # 各 Sprite オブジェクトに対して処理を行う。 sprites.each do |sprite| # Sprite オブジェクトを更新する。 sprite.update # 画面に対してスプライト画像を描画する。 screen.blit(surface,[sprite.x, sprite.y]) end screen.flip timer.wait_for_next_frame end