Androidでアクトレーザー:其ノ弐
=ボタン=
移動用に斜めボタンを隅に4つ配置する。これはLinearLayoutとRelativeLayoutの使い方をまとめてみた - プログラミング雑記あたりを参考に普通のボタンを配置して完了。あとはsetOnTouchListenerで「押した時→レーザー化」「離した時→レーザー解除」を割り当てて終了。
=想定サイズ=
Flash版のステージを持ってきたところ、ステージのマスが50x50だとはみ出してきつそうだったので、「1マスは16x16」「ステージのマスは100x100」となるようにした。
=レーザー描画=
Flashの時は単純に白線にGlowFilterをかけるだけでレーザーっぽくなったものの、そういう便利機能はAndroidにはないようなので自作した。
真面目にやるのはしんどそうだったので、「指定位置からの距離に応じて白〜青を描画する」という関数を作って1ドット移動するたびにこれを呼ぶようにした。さらにレーザーが重なったら白い方が優先されるように、元の色との論理和を使うようにした。これでもDesire HDでは処理落ちしなかったので、今回はひとまずこれでOKということにしてみる。
=残り=
あとは「ステージ作成」と「絵素材」の対応をすればOK。メモリリークのチェックなども必要なので、まとめて明日対応する予定。