hitTestObjectだと矩形としてしか判定できない
2007年10月25日
ActionScript3でオブジェクト同士の重なりの判定を行う場合にhitTestObjectを用いると、オブジェクトを矩形としてしか判定してくれないようだ。
つまり、graphics.drawCircle等で矩形以外の見た目を設定した場合でも、重複判定自体は矩形として行われてしまう。
つまり、graphics.drawCircle等で矩形以外の見た目を設定した場合でも、重複判定自体は矩形として行われてしまう。
どうやって対処しようかと考えたけど、これくらいしか思いつかない。
- 重複判定を行うオブジェクトの形状が円形同士のみなら、円の中心座標から計算して重複判定を行える。
- 円と矩形等の形状が混合している中での重複判定なら、hitTestPointなら見た目通りに判断してくれるので、適当に判定する点を複数取って(矩形なら四隅とか)それを全てhitTestPointにかけて判定する。
両方とも対処としては気持ち悪いのですが、他人のソースを見ると、皆さんギリギリのところで工夫しているので仕方ないっぽいです。