並列実行で矢印キーを動かしてアクターを瞬間移動をさせることはなんとか出来たのですが、
マウス操作の配慮として今度はタッチ(クリック)して
直接選択した位置にアクターを飛ばす方法を調べています。 ↑の画像だと、北側のクローゼット・東側のイス・南側のベッド・西側の仲間が置かれた各位置をタッチすると
真ん中にいるアクター(プレイヤー)がそのタッチした箇所へ瞬時に飛ぶ、というようなことを行いたいです。
TouchInput.isTriggered()を条件分岐に加えて色々やってみましたがやはりどれもそうじゃないらしく
とてもつまづいています…どなたかお力になって頂きたく思います…
クリックした場所に瞬間移動するには
Re: クリックした場所に瞬間移動するには
とりあえず、「マウスが左クリックされたかどうか」は、TouchInput.isTriggered()でOKです。
クリックした座標を取得したい場合、
X座標:TouchInput.x
Y座標:TouchInput.y
となりますが、これは画面上のピクセル単位の座標となるので、これをマップ座標にするために
X座標:$gameMap.canvasToMapX(TouchInput.x)
Y座標:$gameMap.canvasToMapY(TouchInput.y)
というのが、実際の指定になります。
あとは、この座標から「移動先かどうか」を判定すれば、ご期待の処理になるのではないかと。
以上、参考になりましたら。
クリックした座標を取得したい場合、
X座標:TouchInput.x
Y座標:TouchInput.y
となりますが、これは画面上のピクセル単位の座標となるので、これをマップ座標にするために
X座標:$gameMap.canvasToMapX(TouchInput.x)
Y座標:$gameMap.canvasToMapY(TouchInput.y)
というのが、実際の指定になります。
あとは、この座標から「移動先かどうか」を判定すれば、ご期待の処理になるのではないかと。
以上、参考になりましたら。
Re: クリックした場所に瞬間移動するには
奏ねこま 様
アドバイス通りにあれこれやってみましたところ、
やっとマウスでもそれっぽい動作をしてくれるようになりました…!
(ちょっとカクつくところはありますがまあまあこんなもんかな?という具合です)
タッチ操作の変数記述の仕方はまるきりわからなかったので、今回とてもためになりました…
ご回答ありがとうございます!ゲーム製作がますますはかどりそうです。
アドバイス通りにあれこれやってみましたところ、
やっとマウスでもそれっぽい動作をしてくれるようになりました…!
(ちょっとカクつくところはありますがまあまあこんなもんかな?という具合です)
タッチ操作の変数記述の仕方はまるきりわからなかったので、今回とてもためになりました…
ご回答ありがとうございます!ゲーム製作がますますはかどりそうです。