FLASHで真円と正方形が重なっているかどうかを調べて、
重なっている場合にTrue、重なっていない場合にFalseを返したいんですが、
「hitTest」メソッドでは、画像は最外値を枠としてしまうので
どうも使えないようです。

↓ 見かけ上重なっていないのにhitTestではTrueが返ります。

百聞は一見に如かず、作ってみた。
(●と■はマウスドラッグで動かせます)
まぁこんなカンジに。
でも個人的には↓

なので、自分で計算式作るしかないのかなぁと思ったワケですが、
2つ方法を思いつきました。
というより、私の脳ミソでは2つしか思いつきませんでしたぁ!!\(^O^)/
(1)円周と正方形の外周の接点があるかどうかを調べて、
接点が1つ以上の場合Trueを返す。(2)円周と正方形が接するときの、円心と正方形の中点の距離を求め、
その距離より
円心と正方形の中点の距離が小さければTrueを返す。(1)の場合、円が正方形にすっぽり収まってしまった場合にも
falseを返してしまうかなーと思うんですが、
(2)の方が計算がメンド臭そうだけど応用が効きそうなので
考えるにやぶさかでないし、(2)の方法をとることにしました。
でも(2)の方法って角度とか求めないといけないような気がする。
えーとarcsinとかarctanとか??
三角関数よく分かんないな。うん。
~次回に続く~
PR