投稿者 あにす  (社会人) 投稿日時 2008/11/19 05:06:35
接触ルーチンとは当たり判定でしょうか?
それなら、各オブジェクト(弾とか敵機とか)がこんな感じの
Public Interface IGameObject
    Sub Calc(ByVal objectList As List(Of IGameObject))'演算 
    Sub Draw(ByVal screenGraphics As Graphics)'描画 

    Property Location() As Rectangle'位置 
    Property Live() As Boolean'次のフレームまでに破棄される場合はFalse 
End Interface

インターフェースを実装するようにしているので、Rectangle.IntersectsWith()メソッドで
いいかなって思ってます。それでパフォーマンスが悪ければ自前で
a.Location.Left < b.Location.Right andalso a.Location.Right > b.Location.Left andalso a.Location.Top < b.Location.Bottom andalso THEN a.Location.Bottom > b.Location.Top
みたいな感じで比較するのがいいでしょうか。それでダメなら…
当たり判定用のBitmapも同時に描画するようにして、GetPixelするしか…

仮想マップとは座標の管理でしょうか?ユーザーが任意にスクロールしない仕様なので、
画面座標そのままで管理してます。