yusuke. score 64
2016/06/06 20:59 投稿
ruby イベント処理 クリックで新しい画面を開く |
ruby 助けてください |
rubyについて質問です。 |
main を実行すると画面を表示することはできるのですが、画面に表示されている「あいうえお」をおすと新しい画面が出るようにしたいです。どうすればいいか教えてください。 |
rubyの本を見てだいたい作ってみたんですがどう改良したらいいですか |
ソースコード |
##main |
> #!ruby -Ks |
require "./windowkiku.rb" |
def clicked? |
if (550 < 100) and (200 < 20) |
return true |
else |
return false |
end |
end |
while true do |
while event = SDL::Event2.poll do |
case event |
when SDL::Event2::Quit |
exit |
when SDL::Event2::MouseButtonDown |
x = event.x |
y = event.y |
if clicked? |
puts "ok " |
end |
end |
end |
window = Window.new |
window.drawBack |
window.gamestart |
window.refresh |
end |
##windowkiku |
> require "sdl" |
require "./color.rb" |
class Window |
WINDOW_YOKO = 750 |
WINDOW_TATE = 550 |
BITPIKUSERU = 0 |
def initialize |
SDL.init(SDL::INIT_EVERYTHING) |
@screen = SDL.set_video_mode(WINDOW_YOKO,WINDOW_TATE,BITPIKUSERU,SDL::SWSURFACE) |
SDL::TTF.init |
@font = SDL::Kanji.open("font/jiskan24.bdf",24) |
@font.set_coding_system(SDL::Kanji::SJIS) |
end |
def drawBack |
@screen.fill_rect(0,0,WINDOW_YOKO,WINDOW_TATE,Color::GREEN) |
@font.put(@screen,"あいうえお",230,50,255,255,255) |
end |
def refresh |
@screen.update_rect(0,0,0,0) |
end |
def gamestart |
@font.put(@screen,"かきくけこ",550,200,255,255,255) |
@font.put(@screen,"さしすせそ", 570,300,255,255,255) |
end |
end |
##color |
> class Color |
SKYBLUE = [135,206,235] |
GREEN = [ 0,128, 0] |
WHITE = [255,255,255] |
YELLOW = [255,255, 0] |
BULACK = [ 0, 0, 0] |
LIGHTBLUE = [ 200,255,255] |
PINK = [255,192,203] |
end |