ことはちゃんの方がサクサク進むのと、久々のLCDゲーム風以外のアプリなので、作業に割く時間の割合が多いなw
でも、コンテストに出すにあたり、事前にGooglePlayストアで公開しておきたいので、こちらも進めていく。
移動操作をつかさどるスティック操作部分を作って行く。
今回はシーン1、シーン2と、まったく違う画面になるため、今までのアプリのように画面のタッチ処理とプレイヤーの移動処理や判定を一緒に行ってしまうと、2倍のソースを作る必要がある。
それは流石にあとで見づらいので、タッチの検出をしたらフラグを立てるまでにして、あとはシーンごとの判定、処理ルーチンに飛ばすように分割した。
ここまではよかったのだが、実際にスティックのように常にタッチしたままスライドして動かす、でも同一方向におしっぱなし(タッチ位置をキープ)にしても、連続移動しないようにしなくてはならない。
今までのタッチ判定は指を離したことを検知して、離してなければ連続移動しないようにしていた。
と、小難しく書いているけど、ステート管理するのには変わりない。タッチ位置をキープしているのか、いったん離れたのかを保持する変数を用意して、判定していく。
スティックは倒したままの画像を表示したいので、方向判定は必要。あとはプレイヤーの移動量を判定しないように、前と同じ方向かどうかをフラグで追加判定する。
こうして調整して出来たスティックの動きがこちら。

マウスで動かしているので、ちょっとぎこちない。スマホのタッチパネルで試せていないので、指を動かす範囲などの調整が必要になるだろうな。
タッチ判定を分離出来たので、今まではタッチした判定内に書いていたプレイヤーの移動処理や、アタックボタンを押したときの処理をシーン別にサブルーチンにして書いていった。
続く。





