« PSP版FlashPlayer(非公式)がいよいよリリース、あとDS用も | main | デスノートのラストはこうなるんじゃないだろうか »
2006年03月05日
Rectangle.intersectionの戻り値が変な件
Rectangle.intersectionの戻り値の挙動がちょっと変な気がする。
というか気持ち悪い。
intersectionは2つの矩形の交差判定を行い、交差をする場合は両矩形をunion(内包)した矩形を返し、交差しない場合はサイズ0の矩形を返す、という仕様になってる。
しかし、ここでAがBを内包する場合にintersectionを使うと、内包される側(B)の矩形が帰ってくる。
var rect = new Rectangle(0,0,100,100);
var rect2 = new Rectangle(10,10,30,30);
trace( rect2.intersection( rect))
サイズを知りたいのだから内包の場合もunionしたサイズが帰ってくるのが自然だと思うのだけどなぁ。交差と内包をわける為にわざと内側の矩形を返しているのかなぁ?素直に戻ってきた値でBitmapインスタンスとか作るとコケル。
リファレンス外の挙動でちょっと気持ち悪い。
投稿者 Taka : 2006年03月05日 03:07
book
bookmark
trackbacks
this entry's trackback URL:
http://www.fladdict.net/cgi-bin/mt3/mt-tb.cgi/478
このリストは、次のエントリーを参照しています: Rectangle.intersectionの戻り値が変な件:
» Jewish Dating from Jewish Dating
Fast Jewish Dating Club [read more]
トラックバック時刻: 2006年03月25日 03:32
comment
あ、それリファレンスの図が間違ってるだけですよ。
Rectangle.union の方に載ってる図と同じw
スクリプトの例だとちゃんと交差判定になってます。
by mune : 2006年03月05日 10:40