質問編集履歴

1

yusuke.

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
  • Ruby

    16290 questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る