ドット移動システム(DotMoveSystem)でパーティメンバーの間隔を調整したい

返信する
skip
記事: 4
登録日時: 2024年10月13日(日) 13:38

ドット移動システム(DotMoveSystem)でパーティメンバーの間隔を調整したい

投稿記事 by skip »

現在、RPGツクールMZで「ドット移動システム」(DotMoveSystem)と「ドット移動システム機能拡張」(DotMoveSystem_FunctionEx)を使用しておます。

ドット移動を実現しつつ、パーティメンバーの追従間隔をもう少し広げたいと考えています。
具体的には、プレイヤーと後ろを追いかけるパーティメンバーの間隔を、もう少し広めにしたいのですが、うまく調整ができず困っています。

プラグインのコードをいろいろ確認してみたのですが、追従間隔の設定をどこで変更できるのかが分かりませんでした。もし簡単にプラグイン内の設定を修正する方法があるなら、その修正方法について教えていただけると助かります。

もしこのプラグインでの調整が難しい場合、追従間隔を広げるのに使えそうな他のプラグインがあれば、そちらも教えていただきたいです。

お忙しいところ恐れ入りますが、よろしくお願いいたします。

ドット移動システム(うなぎおおとろ様作) - DotMoveSystem.js
https://plugin.fungamemake.com/archives/27621

ドット移動システム機能拡張(うなぎおおとろ様作) - DotMoveSystem_FunctionEx.js
https://plugin.fungamemake.com/archives/28544
アバター
くろうど
記事: 318
登録日時: 2016年1月22日(金) 20:52
お住まい: 東京都
連絡する:

Re: ドット移動システム(DotMoveSystem)でパーティメンバーの間隔を調整したい

投稿記事 by くろうど »

ドット移動のプラグインのことは分からないのですが、
通常のマス目移動でのパーティメンバーの追従間隔を変更するプラグインは自分用に作っていたので、参考程度にコピペしておきます。

(一応、MITライセンスとしておきます)

結局使わず仕舞いでソースコードの内容も曖昧なのですが、
else if (Math.abs(sx) > 1)
else if (Math.abs(sy) > 1)
の 1 が空けるマス目になっていると思います。

通常のマス目移動では sx, sy は整数になると思うのですが、
ここに小数点が使えるような変更がドット移動プラグインでなされている場合、
もしくは、マス目の座標ではなくドットの座標を返す関数を使う等により、
1 の部分を微調整が出来るのではないかと思われます。

コード: 全て選択

(() => {

"use strict";

Game_Follower.prototype.chaseCharacter = function(character) {
	const sx = this.deltaXFrom(character.x);
	const sy = this.deltaYFrom(character.y);
	if (sx !== 0 && sy !== 0) {
		this.moveDiagonally(sx > 0 ? 4 : 6, sy > 0 ? 8 : 2);
	} else if (Math.abs(sx) > 1) {
		this.moveStraight(sx > 0 ? 4 : 6);
	} else if (Math.abs(sy) > 1) {
		this.moveStraight(sy > 0 ? 8 : 2);
	}
	this.setMoveSpeed($gamePlayer.realMoveSpeed());
};

})();
▼だいたいTwitterにいます。たぶん。
https://twitter.com/kuroudo119
skip
記事: 4
登録日時: 2024年10月13日(日) 13:38

Re: ドット移動システム(DotMoveSystem)でパーティメンバーの間隔を調整したい

投稿記事 by skip »

ありがとうございます。
お返事遅くなり申し訳ございません。
参考にさせていただきます。
返信する

“MZ:質問”に戻る