
キャラクターをスマホ対応のタッチ処理で動かすだけで、3日分のブログを書いてしまった、弓削田です。
決して手抜きじゃないですよ。
実際に、3日ぐらいかけて、悩みながらプログラミングしていました・・・www
でも、実は、まだまだ続きます・・・orz
そんなボヤきは、どうでもいいんですが、
スマホに対応するために、色々と四苦八苦やってます。
そして、前回、スマホで画面にタッチしてマップアドレスに変換することができたので、
今回は、その流れで、キャラクターを歩かせて見ることにしました。
移動する方向を計算
とりあえず、キャラクターが現在位置から、歩いて移動する時に、どの方向に歩いていくかという、方向だけを指定してあげれば、
自動的に処理してくれる関数は、すでに存在するので、
画面をタップしたマップアドレスと、キャラクターの現時点の座標を比較して、方向を決定しようとしたんですが、
ここで一つつまづきポイントがありました。
それは、上下左右といった、分かりやすいアドレスの判定はできるんだけど、

微妙にじれた場合の値をどうやって判定するかは、現時点でアルゴリズムがありません。

ということで、マップアドレスの移動元と移動先の差分のコマ数を計算して、どちらの方向が近いかという近似値方式で対応するようにしてみました。
そして、無事に、構築を終えて、スマホでの動作も確認することができました。
問題は別にも存在する
・・・・が・・・・・
実際に、スマホ(実機)で操作をしてみて気がついたんですが、
この操作、使いづらい!!!!!!
今頃気がつくなや〜!!!って思うかもしれませんが、実際に触ってみないとわからないことって、ありますからね〜〜〜。
何が使いづらいかというと、
キャラクターは、常に画面中央にいる仕様なので、左上の方向に動かそうとすると、スマホ画面の左上エリアをタップしないといけません。
常々スマホ操作をしながら、そうした操作をさせるアプリって、使いづらいな〜って思っていたのが、
ドンピシャ当てはまってしまいました。
どうやら、ノートPCのトラックパッドのように、指をスライドして動かした方向に、キャラクターが連動して動いてくれるだけで良かったのだ!!!
それなら、片手で簡単に操作もできるので、非常に操作しやすい!
マップアドレス処理は別の処理にも使える
とりあえず、今回やった処理は、何かマップ上のアイテムを選択したり、マップのエリアを選択するような場合に使用できるので、
全くの無駄ではないということだけは言っておこう。
ということなので、今しばらく、この処理の構築に掛かってしまうよ〜〜〜〜
0 件のコメント:
コメントを投稿