/*:ja * @plugindesc (v.1.0) プレイヤーが疑似ピクセル(半歩)/8方向移動します。 * * @author Galv - galvs-scripts.com * * @param Diagonal Speed * @text 斜め移動速度 * @type number * @min 1 * @max 100 * @desc キャラクターが斜めに移動する速度の割合 * @default 90 * * @param Diagonal Charset * @text 斜めのキャラクターセット * @desc 斜めのキャラクターセットを使用(詳細はヘルプを参照) true / false * @type boolean * @on 使用 * @off 不使用 * @default true * * @param Tile Delay * @text タイル遅延フレーム量 * @type number * @desc キャラクター下の接触イベント/ダメージタイルが繰り返される前の遅延フレーム量 * @min 0 * @max 9007 * @default 30 * * @help * 翻訳:ムノクラ * https://fungamemake.com/ * https://twitter.com/munokura/ * * --------------------------------------------------------------------------- * Galv's Pseudo Pixel Move * --------------------------------------------------------------------------- * このプラグインは、プレイヤーに擬似的なピクセル移動をさせますが、 * それ以外はゲームの全ての通常のタイルベースの機能を保持しようとします。 * * プレーヤーはタイルからタイルへ移動する代わりに、 * 各タイル内の9つのセグメントに移動します。 * 各セグメントには、以下の図の通り独自のx、y値があります。 * * 2,1 0,1 1,1 * * 2,0 0,0 1,0 * * 2,2 0,2 1,2 * * キャラクターは、 * 通過できないタイルに隣接するタイルの端に移動することはできません * (マップや通過できないイベントなどを介して)。 * キャラクターが互いに近づきすぎるのを防ぎ、 * タイルベースの機能を保持する為です。 * * 他の全てのプラグインがこのプラグインとの互換性について * テストされているわけではありません。 * 時間があれば、互換性のない一般的なものとの互換性を作成します。 * * 注: * - Galv Diagonal Movement プラグインとは互換性がありません。 * このプラグインには既に斜めの移動機能が含まれているためです。 * - 動作しないため、デフォルトのマウスの動作は無効になっています。 * * 既知の問題点: * - 特定のタイルに立っている場合、イベントは1pxオフセットされます。 * - ループマップは機能しません。 * - フォロワーは機能しません。 * - 乗り物での移動には通常のタイル移動のみが使用されます。 * * --------------------------------------------------------------------------- * スクリプトコール * --------------------------------------------------------------------------- * * Galv.PMOVE.center(); // プレイヤーはタイルの中心に移動します * Galv.PMOVE.center(true); // 中心に移動前に向きを変えます * * $gamePlayer._normMove = true; // プレーヤーの移動ルートを設定して、 * // タイル全体を移動します。 * // 注:最初にプレーヤーを中央に移動し、 * // タイルの中央から中央に移動します。 * $gamePlayer._normMove = false; // 移動ルートは擬似ピクセル移動距離を * // 再開します。 * * --------------------------------------------------------------------------- * タイルスクリプトでプレーヤーの位置を確認する * --------------------------------------------------------------------------- * 各タイルのx、y位置を参照するには(例えば、条件分岐)、 * スクリプトで下記を使用できます。 * * Galv.PMOVE.xPos(x,x,x) // x値のリストを確認 * Galv.PMOVE.yPos(y,y,y) // y値のリストを確認 * Galv.PMOVE.pos(x,y) // x、y値を確認 * * 例: * Galv.PMOVE.xPos(0) // プレイヤーが3つのミドルポジションの * // いずれかにいる場合、trueを返します。 * Galv.PMOVE.yPos(1) // プレイヤーが3つのトップポジションの * // いずれかにいる場合、trueを返します。 * Galv.PMOVE.xPos(0) && Galv.PMOVE.yPos(1) // 上記の両方の場合はtrue * Galv.PMOVE.xPos(0) || Galv.PMOVE.yPos(1) // 上記のいずれかであればtrue * Galv.PMOVE.pos(0,0) // プレイヤーがタイルの中央にいる場合、trueを返します * --------------------------------------------------------------------------- * * --------------------------------------------------------------------------- * イベントのメモ欄 * --------------------------------------------------------------------------- * デフォルトでは、タッチイベントは、 * 別のタッチイベントが1回だけフレーム(時間)の短い遅延が経過した後にのみ * 有効にできます。 * この遅延は、プラグイン設定で設定できます。 * 有効にした後に遅延を設定したくないイベントの場合、 * 次のタグをイベントのメモ欄に追加します。 * * * * --------------------------------------------------------------------------- * 斜めのキャラクターセット * ----------------- * '斜めのキャラクターセット'を使用(true)する場合、 * プラグインは、キャラクターが斜め移動する場合、画像を変更します。 * 使用される斜めの画像は、キャラクターシートの下の位置にあります。 * キャラクターシートの上部のスプライトのみが斜め移動の画像を設定でき、 * アクター/イベントがキャラクターシートの下部の画像に設定されている場合、 * 斜め移動を使用しないことを意味します。 * * サンプルのキャラクターセットを含むデモを確認ください。 * --------------------------------------------------------------------------- */