ページ 11

【解決】足場のマップチップによってキャラの移動速度を変更したい

Posted: 2019年7月02日(火) 01:12
by pentama
RPGツクールMVを初めて1週間程の初心者です。

足場が草の場合だと移動速度:3で歩く、特定のタイル上は移動速度:5で移動、のように
歩く速さを足場のマップタイルによって変えたいと考えています。

現在のところ、添付画像のように
1、キャラの位置をX.Yの変数で出す。
2、リージョンIDを使って、キャラの位置=特定のマスの時、移動速度を変更する。
というような内容を並列処理で作ってみたのですが、
思っているように動作はするものの、処理が遅くなってしまいます。

マップが広く、リージョンID判定のためのタイルの数が多いことが原因の一つと考えているのですが、
出来ればマップは分割せず同じ大きさのまま問題を解決したいと考えています。
リージョンIDを使用せず、配置したマップチップから直接判定するなど
処理速度を改善するための方法がありましたら教えて頂ければと思います。

宜しくお願いします。

Re: 足場のマップチップによってキャラの移動速度を変更したい

Posted: 2019年7月02日(火) 05:26
by ムノクラ
下記を試用してはいかがでしょうか?
もしかしたら、イベント処理より軽いかも知れません。

▼地形による速度変化(トリアコンタン様作)
指定した地形もしくはリージョンに乗っている間だけキャラクターの移動速度を自動的に上昇もしくは低下させます。
https://plugin.fungamemake.com/archives/1072

Re: 足場のマップチップによってキャラの移動速度を変更したい

Posted: 2019年7月02日(火) 06:58
by ecf5DTTzl6h6lJj02
今回のケースで、処理が重くなってしまっている原因は、並列処理の中身がループ処理されていることではないかと思います。
並列処理なので、ループで繰り返さなくても、最後まで実行した後に、また最初から実行されます。
(大抵の)プログラム上、ループ処理は重くなりがちで、短時間に繰り返したり、ループの中にループを入れるなど多重ループをすると、非常に重くなったりします。
ループをはずせば、もう少しマシな速さになるかと思います。

とはいえ、イベントの並列処理でやるよりも、プラグインで処理したほうが軽くなるはずですので、
ムノクラさんの紹介されているプラグインを使うことを推奨しますが。

Re: 足場のマップチップによってキャラの移動速度を変更したい

Posted: 2019年7月02日(火) 18:37
by pentama
ムノクラ 様
ecf5DTTzl6h6lJj02 様

アドバイスありがとうございます。
紹介して頂いたプラグインを試してみたところ、
イメージをしていた動きを軽い処理で再現する事が出来ました。

また、並列処理のループは、他のイベントでも使用していたので改善をしてみます。
ループは今後も誤って使用していたと思うので、今回知ることができて良かったです。

Re: 足場のマップチップによってキャラの移動速度を変更したい

Posted: 2019年7月02日(火) 19:19
by ムノクラ
解決してよかったです。

トピックのタイトルに【解決】をつけてくださいね。