けいおん!!のOP、好きです。こんにちわ。
また動画撮りましたよー。しゃべってますよー。「一番のキモ」が多すぎじゃねぇかと思う今日この頃、いかがお過ごしですか。。
今回は、プレイヤーがクリックした場所へキャラクターを歩かせてみました。歩く速度が遅かったので、速めてみました。3コマのアニメーションで歩かせてるせいか、速度調整がうまくできない・・・。
以下、自己満足。
「クリックしたところへキャラクターを歩かせる」ということは、クリックしたのがどのマスかというのを判定しなければならないんですが、ややこしい事情があります。
普通の正方形がならんだゲームなら単純な割り算でクリックされたマスか判定できます。
しかし、見ての通り、クォータービューの場合はひし形なんですね。普通に大なり小なりではチェックできないんです。
というわけで、座標系を一回、チェックしやすいように変換してやります。
クォータービューの座標系っていうのは、画面に描くときの座標ね(X,Y)*1。
普通の座標系っていうのは、二次元配列の添え字を単純にかけ算した座標ね(x,y)。
マップの情報を元に画面を描く時にはこの変換式で座標を決定→画像を出力しています。
40と20はマップチップのサイズですよ。
上の式を連立方程式で逆算します。
あとは割り算してあげれば、どのマスがクリックされたか分かるって寸法。
ネットでほかにいい方法がないか調べて見たんですよ。
そしたら予想通りというか何というか。
この問題で悩んでる人がそれなりの数いるようなので、「俺はこうしましたよ」的な情報を書いてみました。
ご参考になればうれしいです・・・。
*1:要するにスクリーン座標。
やはり悩みどころってのは
かぶるもんなんでしょうかねえ…
しかしそういう問題も
解決しやすくなった点では
いい世の中ですな…
結構定石的なやり方もありそうな気がしますけどね……
私もちょっと探してみよ。
頭を使う関係の作業は非常にやりやすくなりましたね〜。
たいがい、気になったことを検索すると知恵袋とかで
まったく同じ質問してる人がいますしね。
>Ashさん
クォータービューのゲーム作る人(主に趣味で)って、
案外少ないっぽいですよ。
やはりめんどくさいし、高さとか考え出すとZソートが(ry
定石は多々ありそうですよね!
是非探してみてください><;