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