« 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

dotfla.gif

bookmark

はてなブックマークに追加

del.icio.usに追加

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

コメントしてください




保存しますか?