2008-10-03
■ [Ruby/SDL] Ruby/SDLでボタンを作るライブラリを書きました
「Ruby/SDLで、マウスで押せるボタンとか簡単に作れたりしない?」という要望があって、さくっと作ってみました。
使用例はこんな感じです。
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?で命令的にやる方が初心者には分かりやすいかなぁと思ったりなんだり。