クリックした場所に瞬間移動するには

cocola
記事: 76
登録日時: 2017年4月04日(火) 12:24

クリックした場所に瞬間移動するには

投稿記事by cocola » 2017年4月09日(日) 22:14

並列実行で矢印キーを動かしてアクターを瞬間移動をさせることはなんとか出来たのですが、
マウス操作の配慮として今度はタッチ(クリック)して
直接選択した位置にアクターを飛ばす方法を調べています。
Baidu IME_2017-4-9_21-31-11.png
Baidu IME_2017-4-9_21-31-11.png (155.7 KiB) 閲覧数: 3669 回
↑の画像だと、北側のクローゼット・東側のイス・南側のベッド・西側の仲間が置かれた各位置をタッチすると
真ん中にいるアクター(プレイヤー)がそのタッチした箇所へ瞬時に飛ぶ、というようなことを行いたいです。
TouchInput.isTriggered()を条件分岐に加えて色々やってみましたがやはりどれもそうじゃないらしく
とてもつまづいています…どなたかお力になって頂きたく思います…

奏ねこま
記事: 702
登録日時: 2016年1月20日(水) 20:04

Re: クリックした場所に瞬間移動するには

投稿記事by 奏ねこま » 2017年4月09日(日) 22:57

とりあえず、「マウスが左クリックされたかどうか」は、TouchInput.isTriggered()でOKです。

クリックした座標を取得したい場合、
X座標:TouchInput.x
Y座標:TouchInput.y
となりますが、これは画面上のピクセル単位の座標となるので、これをマップ座標にするために
X座標:$gameMap.canvasToMapX(TouchInput.x)
Y座標:$gameMap.canvasToMapY(TouchInput.y)
というのが、実際の指定になります。

あとは、この座標から「移動先かどうか」を判定すれば、ご期待の処理になるのではないかと。
以上、参考になりましたら。
cocola
記事: 76
登録日時: 2017年4月04日(火) 12:24

Re: クリックした場所に瞬間移動するには

投稿記事by cocola » 2017年4月10日(月) 13:58

奏ねこま 様

アドバイス通りにあれこれやってみましたところ、
やっとマウスでもそれっぽい動作をしてくれるようになりました…!
(ちょっとカクつくところはありますがまあまあこんなもんかな?という具合です)

タッチ操作の変数記述の仕方はまるきりわからなかったので、今回とてもためになりました…
ご回答ありがとうございます!ゲーム製作がますますはかどりそうです。

“MV:質問” へ戻る