Sprite内の定数

このような定義を考えてみた。(追記:これではダメだ)

class Sprite
  Point = Array
  Box = Array
  Circle = Array
  Triangle = Array
end

これは衝突判定範囲を指定する際に、配列だとちょっとわかりにくいかなーと思ってその対策案のひとつ。
結局全部Arrayなので違う要素数のものを作る、すなわちPoint.new(1,2,3,4,5,6)とかすれば三角形の衝突判定になってしまうわけだが、使い方を守れば見た目的にわかりやすくなる。
また、以下のように定義すれば

class Sprite
  class Line < Array
    def initialize(x1, y1, x2, y2)
      self.push x1, y1, x2, y2, x2, y2
    end
  end
end

三角形の衝突判定を応用して線分の判定ができるようになる。今のところ線分の判定は実装していないから三角形を使うしかないのだが、それだとちょっと面倒というか変というか。こうすればわかりやすいというかラクというか。
ただまあ、現時点では1.3devには三角形の判定が入っていないので実際に使うことはできないわけだが。
あと、三角形の判定の中に線分用の高速ロジックを分岐させて入れておくといいのかもしれない。使うことが多いのなら。