2006-04-10
ネームスペース
require 'mygame' MyGame::init screen = MyGame::Screen.new(320, 240) MyGame::loop do exit if MyGame::key_press?(MyGame::Key::ESCAPE) MyGame::draw_image screen, 'ball.bmp', 100, 50 end
うわあ MyGame:: ウザッ。
require 'mygame' include MyGame game_init screen = Screen.new(320, 240) game_loop do exit if key_press?(Key::ESCAPE) draw_image screen, 'ball.bmp', 100, 50 end
とすればいいかなあ。
いままでよく考えずに screen を使っていたけど、これサーフェイスだから描画命令が書き込むサーフェイスを screen に固定してしまえばよりシンプルにできる。
require 'mygame' include MyGame game_init 320, 240 game_loop do exit if key_press?(Key::ESCAPE) x = (screen.w - image_size('ball.bmp').w) / 2 y = (screen.h - image_size('ball.bmp').h) / 2 draw_image 'ball.bmp', x, y end
とした方がいいかな。 screen メソッドも用意しておく。
サーフェイスを指定する場合はこれで。
draw_surface_image surface 'ball.bmp', 100 50
ここでは関係ない話だけどこう書きたくなってくる。
require 'mygame' include MyGame game_init 320, 240 ball = Image.new('ball.bmp') ball.x = (screen.w - ball.w) / 2 ball.y = (screen.h - ball.h) / 2 game_loop do exit if key_press?(Key::ESCAPE) ball.draw end