サイログ。

~雑多な記事置き場~

座標の線形リストを作成

一定の間隔で移動しながらの衝突判定を行うとき、間隔が大きいと、衝突判定に抜けが生じる場合があります。
この問題に対処していかないとなーと悩んでいて、今の今まで掛かってしまいました(^^;

といわうけで、一定の刻みで座標の線形組み合わせリストを取得するUtility.product_liner等のメソッドを追加しました。

また、今回の修正で、Utilityモジュールを追加しました。

product_linerメソッドは、以下のように使います

# [100,100]-[109,114] まで1単位
array = Miyako::Utility.product_liner([100,100,10,15])
# => [[100, 100], [101, 101], [102, 103], [103, 104], 
#     [104, 106], [105, 107], [106, 109], [107, 110], 
#     [108, 112], [109, 114]]

# [100,100]-[109,114] まで2単位
array = Miyako::Utility.product_liner([100,100,10,15], 2)
# => [[100, 100], [102, 103], [104, 106], [106, 109], [108, 112]]

# [100,100]-[109,109] まで2単位
array = Miyako::Utility.product_liner([100,100,10,10], 2)
# => [[100, 100], [102, 102], [104, 104], [106, 106], [108, 108]]

与える値に幾つか制限がありますが、非常に役に立つメソッド群と考えていますが、いかがでしょうか。