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