ShapeクラスとboundingType
まとまった時間を確保できない鬱憤を晴らすべく、
phina.jsを触ることにした。
ミニゲームくらいなら作れるかなって思って、
何を作るか考えずにファイル分割に挑戦してたのですが、
ファイル分割はそんなに難しくなかった。
で、地味にハマったのでメモ。
ことの発端は、縦シューティングを作ろうと思って、
自機にphina.display.TriangleShape
を使ってみたら、
width
とheight
が反映されなくて、
そこでコードを読み込んでたら、radius
に設定するのが正解らしい。
さらに、boundingType
というプロパティが存在していて、
circle
とrect
のどちらが設定されているかで、
衝突判定処理や、width
とheight
の実装が異なっていた。
三角形は正多角形として実装されているので、大きさはradius
に依存し、
width
とheight
は共通の変数を参照することで、
同じ値が格納される、もしくは同じ値が取れるように実装されていた。
やりたかったことは、
自機の衝突判定に使う領域だけ小さくして、
しかも一番単純なアルゴリズムを使いたかったんだけど、
自分の場合はhitTestElement
をオーバーライドする方針で、
そういうのも含めて、そのうちリリースできたらと思う。
(コードを見てもらうのが、とにかく手っ取り早いと思うので。)
おしまい。
Leave a Comment