そういうことだったんですね

いろいろ調べたり学んだりしたことを忘れないように書き連ねています

Ruby - 2Dゲームライブラリ Gosu を試す(2)

Ruby - 2Dゲームライブラリ Gosu を試す(1) - そういうことだったんですね の続きです。

 

背景/画像を表示する

<code>Gosu::Image</code>クラスを使います。

オブジェクトを生成して <code>draw</code> メソッドを呼ぶだけです。

 

以下の例では <code>media/dachs.jpg</code> というファイルをウインドウに表示します。

class GameWindow < Gosu::Window
    def initialize
        super 640, 480, false
        self.caption = "Gosu Tutorial Game"

        @bg = Gosu::Image.new(self, "media/dachs.jpg", false)
    end

    def update
    end

    def draw
        @bg.draw(0, 0, 0)
    end
end

  1. initializeメソッド内でオブジェクトを生成します。
    Gosu::Image.newの3番目の引数は、tileable で、RPGのタイルマップを作成するときなどにtrueとします。今回は1枚の絵を表示するだけなので false を指定します
  2. drawメソッド内で表示します。drawメソッドを呼び出します。表示する座標(x,y,z)を指定します。

f:id:babiy3104:20130913214808p:plain

座標系

  • ウインドウの左上を(0,0)とした相対座標。x方向が右、y方向が下の座標系
  • マウスポインタの座標も相対座標系となるため、ウインドウの外部の場合負の値になりうる。

つづく。