Androidでアクトレーザー:其ノ弐

=ボタン=

 移動用に斜めボタンを隅に4つ配置する。これはLinearLayoutとRelativeLayoutの使い方をまとめてみた - プログラミング雑記あたりを参考に普通のボタンを配置して完了。あとはsetOnTouchListenerで「押した時→レーザー化」「離した時→レーザー解除」を割り当てて終了。

=カメラ=

 Flashの時はサイズが固定だったものの、Androidケータイだとサイズは端末ごとに異なるので、その分のスケーリングを加味しつつカメラの挙動を実装した。

=想定サイズ=

 Flash版のステージを持ってきたところ、ステージのマスが50x50だとはみ出してきつそうだったので、「1マスは16x16」「ステージのマスは100x100」となるようにした。

=レーザー描画=

 Flashの時は単純に白線にGlowFilterをかけるだけでレーザーっぽくなったものの、そういう便利機能はAndroidにはないようなので自作した。
 真面目にやるのはしんどそうだったので、「指定位置からの距離に応じて白〜青を描画する」という関数を作って1ドット移動するたびにこれを呼ぶようにした。さらにレーザーが重なったら白い方が優先されるように、元の色との論理和を使うようにした。これでもDesire HDでは処理落ちしなかったので、今回はひとまずこれでOKということにしてみる。

=残り=

 あとは「ステージ作成」と「絵素材」の対応をすればOK。メモリリークのチェックなども必要なので、まとめて明日対応する予定。