≒ Ballsの件

昨日Androidアプリ新作公開しました。
Balls

我ながらクソみたいに単純なopenGLのデモなんだけど一ヶ月と10日も製作に費やした。面白かった。
デモだけど広告入れました。お金欲しいもあるんだけど、ユーザさんの動きがある程度分かるんですよね。アナリティクス入れればもっと詳しく分かるんだろうけど、ColorExtractorに入れたのは上手く動いてないんです。今度もう一度ちゃんと設定してみよう。

3D衝突計算は「ActionScript 3.0 アニメーション」にお世話になりました。中古で無料配送だったから1000円以下で手に入って助かったw なんでActionScript?とは思うけど、色々ぐぐったりした中で一番説明が分かりやすかった。計算式には言語関係ないしね。

一番苦労したのはボールをダブルタップで追加/削除の部分。three.jsならRayCasterクラスがあるから簡単なんだけど、今回もフレームワークは使いたくなかったので(たぶんUnityとか使えばそういうのあるよね)、試行錯誤しながら自作ロジック組んだ。といっても教科書(OpenGL ES 2.0 Androidグラフィックスプログラミング)の「9.2物体を選択する」の手法を拡張しただけですけどね。追加は目に見えてるワイヤの立方体よりちょっと小さい立方体とxyz軸に沿って平面立てて、glReadPixelsしてる。タイミングがシビアで苦労した。ボールの番号はrgb値使って、r=100の桁、g=10の桁、b=1の桁を入れてます。openGLはr値は5ビットなので32まで数えられるから、ボールの最大数は3200のはず。はずって言うのはその数に達する前にCPUかメモリの限界で落ちるだろうから。Playストアにスクショで張ってるけど、300個くらいまでなら一応滑らかに動きます。機種によりますけどね。

以上、言葉足らずの説明ですみません。早く次のアプリ作り始めたいんだよねw アプリ公開報告でした。