その方法をやってみたことがあるのですが、たしか押しっぱなしの時の挙動が問題になった気がします。あと、キーを何回か押したときのタイミングでも狂うことがあった気が。自分は単に
・プレイヤー操作用イベント
→イベントは自動実行で、方向キー毎に移動する様にするだけ
View attachment 4530
このイベント内に決定キーやキャンセルキーで何らかのアクションを追加できると思いますが・・・。
スクリプトで決定キーやキャンセルキー、シフトキー以外のボタン設定はできます。ツクマテの方で再々見かけます。
・プレイヤーを認識して行動するイベント
視界内で一歩ずつ前進し、視界外だとランダムに行動するプラグイン又はイベントを作るだけ。
のつもりでしたが・・・。
マウス操作はできませんが、キーボードや何らかのボタン形式だと割と動きます。
ツミオ様が今まさに 作ろうか?という話をしてらっしゃいますね。
https://twitter.com/TsumioNtGame/status/1074585588081221632
興味が御有りなら、コンタクトを取ってみてはいかがでしょうか。
改良した。
並列処理にはとりあえずキー条件分岐はいらない。
そして敵とは別にウェイト用のイベント用スイッチを追加。
View attachment 4535
敵は、移動が自動実行だったのを並列実行に変更。
移動速度を6(4倍)に設定。
そして敵と似たような構成のウェイト用イベントを作成
こちらは自動実行。1ページ目には相変わらず何もないイベント。
View attachment 4536
これでダッシュしても敵が何体してもスムーズに移動した。
私がためした限りだと、自分や敵の移動の同期がズレる事もなかった。
条件分岐をプレスキーでなく、歩数にする発想は当時無かったです。その着眼点、凄いです。もういいだろと自分で思ったが、さらに改良。
改善内容はスイッチの共通化。
動きは変わらないが、使うスイッチが1つになって敵も完全コピペで量産できるようになった。
敵が増やしやすくなって制作効率がUPだ!
まず歩数を監視する並列処理でONにするスイッチを1個に変更。
View attachment 4547
ウェイト用の自動実行イベントでOFFにするスイッチを、その1個のスイッチに変更。
あとウェイトを9に変更。8でもいいけど、7だとNG。
敵の移動処理などを増やす場合はウェイトを適時調整する。
View attachment 4548
敵イベントの1ページ目、プライオリティは通常より上に設定。
プレイヤーから接触されたら戦闘にする。
View attachment 4549
2ページの実行条件を、並列処理でONにした一つのスイッチにする。
今まであってスイッチON操作は削除。
条件分岐スクリプトの内容はプレイヤーとの座標一致の確認。
別にスクリプト使わなくてもできるが、
使わないほうが変数も使わないし、見やすく処理が軽くなる(気がする)
View attachment 4550
参考までに一応、同座標か調べる条件分岐スクリプト
(this.character(-1).x == this.character(0).x) && (this.character(-1).y == this.character(0).y)
バグを見つけました。もういいだろと自分で思ったが、さらに改良。
改善内容はスイッチの共通化。
動きは変わらないが、使うスイッチが1つになって敵も完全コピペで量産できるようになった。
敵が増やしやすくなって制作効率がUPだ!
まず歩数を監視する並列処理でONにするスイッチを1個に変更。
View attachment 4547
ウェイト用の自動実行イベントでOFFにするスイッチを、その1個のスイッチに変更。
あとウェイトを9に変更。8でもいいけど、7だとNG。
敵の移動処理などを増やす場合はウェイトを適時調整する。
View attachment 4548
敵イベントの1ページ目、プライオリティは通常より上に設定。
プレイヤーから接触されたら戦闘にする。
View attachment 4549
2ページの実行条件を、並列処理でONにした一つのスイッチにする。
今まであってスイッチON操作は削除。
条件分岐スクリプトの内容はプレイヤーとの座標一致の確認。
別にスクリプト使わなくてもできるが、
使わないほうが変数も使わないし、見やすく処理が軽くなる(気がする)
View attachment 4550
参考までに一応、同座標か調べる条件分岐スクリプト
(this.character(-1).x == this.character(0).x) && (this.character(-1).y == this.character(0).y)
これなら、いけました。マウスでのタッチ操作には対応しなくなりました(自動実行なので、動きを止められる)が、仕方ないですよね。敵イベントの移動ページを並列処理にするとタッチで移動しても止まらなくなりますが、戦闘に入らなくなるので、自動実行にしました。さすがにストッパーがないと不安定だったようですね。
これで直るか試してもらってもいいでしょうか?
変更するのは敵イベントのみです。
まず1ページ目のプレイヤー接触戦闘はいらないし邪魔なので削除してください(画像なし)
2ページ目では移動とセルフスイッチの操作に
View attachment 4552
3ページで戦闘等の処理を入れてください。
セルフスイッチを元に戻す事と、自動実行であることに注意してください。
View attachment 4553
ランダム移動やプレイヤーに近づくで壁に邪魔されるのを直接解決するプラグインはわかりませんね。
イベントでどうにかするか、経路探索プラグインを併用するか、やりたい内容次第かな。
個人的には移動しないパターンはパターンでそれでいいかなって思ってます。
追記:
ちなみに前の奴はウェイトイベントのウェイトは短すぎても長すぎてもNGだったんですが、
少なくとも今回の奴は十分なウェイトがあればいい、はず。
だめだった場合はウェイトを長くしてみてください。
カクカクが増えるのでウェイトを長くするも好ましくはないのですが。
追記2:
ちなみにアイコンアニメの表示は、処理に十分な時間がかかりそうなイベントをテスト用にひっつけただけです。当然ですが、このシステムには全く無関係なので消しても問題ありません。