トップ «前の日記(2008-10-02) 最新 次の日記(2008-10-04)» 編集

Route 477



2008-10-03

[Ruby/SDL] Ruby/SDLでボタンを作るライブラリを書きました

「Ruby/SDLで、マウスで押せるボタンとか簡単に作れたりしない?」という要望があって、さくっと作ってみました。

使用例はこんな感じです。 ec979f5ff7c80540640918cf02540700.png

button1 = SDL::Button.new(0, 0, image)

で作って、

  when SDL::Event::MouseButtonDown, SDL::Event::MouseButtonUp
    SDL::Buttons.check(event)

で状態を更新して、

button1.pushed?

で押されたかどうか判定します。

実は

 button1 = SDL::Button.new(0, 0, image) do
   puts "button 1 clicked"
 end

みたいにイベントハンドラを指定できたりしますが、イベントループとのかみ合わせを考えると、pushed?で命令的にやる方が初心者には分かりやすいかなぁと思ったりなんだり。