ShapeクラスとboundingType

まとまった時間を確保できない鬱憤を晴らすべく、
phina.jsを触ることにした。

ミニゲームくらいなら作れるかなって思って、
何を作るか考えずにファイル分割に挑戦してたのですが、
ファイル分割はそんなに難しくなかった。

で、地味にハマったのでメモ。

ことの発端は、縦シューティングを作ろうと思って、
自機にphina.display.TriangleShapeを使ってみたら、
widthheightが反映されなくて、
そこでコードを読み込んでたら、radiusに設定するのが正解らしい。

さらに、boundingTypeというプロパティが存在していて、
circlerectのどちらが設定されているかで、
衝突判定処理や、widthheightの実装が異なっていた。
三角形は正多角形として実装されているので、大きさはradiusに依存し、
widthheightは共通の変数を参照することで、
同じ値が格納される、もしくは同じ値が取れるように実装されていた。

やりたかったことは、
自機の衝突判定に使う領域だけ小さくして、
しかも一番単純なアルゴリズムを使いたかったんだけど、
自分の場合はhitTestElementをオーバーライドする方針で、
そういうのも含めて、そのうちリリースできたらと思う。
(コードを見てもらうのが、とにかく手っ取り早いと思うので。)

おしまい。

Leave a Comment