143 lines
4.2 KiB
JavaScript
143 lines
4.2 KiB
JavaScript
/*=============================================================================
|
||
BalloonPosition.js
|
||
----------------------------------------------------------------------------
|
||
(C)2021 Triacontane
|
||
This software is released under the MIT License.
|
||
http://opensource.org/licenses/mit-license.php
|
||
----------------------------------------------------------------------------
|
||
Version
|
||
1.0.2 2021/01/28 MZで動作するよう修正
|
||
1.0.1 2021/01/28 英語ヘルプを記述
|
||
1.0.0 2021/01/27 初版
|
||
----------------------------------------------------------------------------
|
||
[Blog] : https://triacontane.blogspot.jp/
|
||
[Twitter]: https://twitter.com/triacontane/
|
||
[GitHub] : https://github.com/triacontane/
|
||
=============================================================================*/
|
||
|
||
/*:
|
||
* @plugindesc BalloonPositionPlugin
|
||
* @author triacontane
|
||
* @url https://github.com/triacontane/RPGMakerMV/tree/mz_master/BalloonPosition.js
|
||
* @target MZ
|
||
* @base PluginCommonBase
|
||
*
|
||
* @param BalloonXNoImage
|
||
* @desc Uniformly adjusts the x of balloon for events where no image is specified.
|
||
* @default 0
|
||
* @type number
|
||
* @min -2000
|
||
* @max 2000
|
||
*
|
||
* @param BalloonYNoImage
|
||
* @desc Uniformly adjusts the y of balloon for events where no image is specified.
|
||
* @default 0
|
||
* @min -2000
|
||
* @max 2000
|
||
*
|
||
* @help BalloonPosition.js
|
||
*
|
||
* Adjusts the display coordinates of balloon
|
||
* <BalloonX:5>
|
||
* <BalloonY:-5>
|
||
*
|
||
* This plugin is released under the MIT License.
|
||
*/
|
||
/*:ja
|
||
* @plugindesc フキダシ位置調整プラグイン
|
||
* @author トリアコンタン
|
||
* @url https://github.com/triacontane/RPGMakerMV/tree/mz_master/BalloonPosition.js
|
||
* @target MZ
|
||
* @base PluginCommonBase
|
||
*
|
||
* @param BalloonXNoImage
|
||
* @text 画像なしX座標
|
||
* @desc 画像が指定されていないイベントのフキダシX座標を一律で調整します。
|
||
* @default 0
|
||
* @type number
|
||
* @min -2000
|
||
* @max 2000
|
||
*
|
||
* @param BalloonYNoImage
|
||
* @text 画像なしY座標
|
||
* @desc 画像が指定されていないイベントのフキダシY座標を一律で調整します。
|
||
* @default 0
|
||
* @min -2000
|
||
* @max 2000
|
||
*
|
||
* @help BalloonPosition.js
|
||
*
|
||
* フキダシの表示座標を調整します。
|
||
* イベントのメモ欄に以下の通り入力してください。
|
||
* <BalloonX:5> # フキダシのX座標を右に[5]ずらします。
|
||
* <BalloonY:-5> # フキダシのY座標を上に[5]ずらします。
|
||
*
|
||
* このプラグインにはプラグインコマンドはありません。
|
||
*
|
||
* 利用規約:
|
||
* 作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
|
||
* についても制限はありません。
|
||
* このプラグインはもうあなたのものです。
|
||
*/
|
||
|
||
(function () {
|
||
"use strict";
|
||
const script = document.currentScript;
|
||
const param = PluginManagerEx.createParameter(script);
|
||
|
||
/**
|
||
* Game_CharacterBase
|
||
* フキダシの座標を取得可能にします。
|
||
*/
|
||
Game_CharacterBase.prototype.isNoImage = function () {
|
||
return !this._tileId && !this._characterName;
|
||
};
|
||
|
||
Game_CharacterBase.prototype.findBalloonX = function () {
|
||
return 0;
|
||
};
|
||
|
||
Game_CharacterBase.prototype.findBalloonY = function () {
|
||
return 0;
|
||
};
|
||
|
||
/**
|
||
* Game_Event
|
||
* フキダシの座標をメモ欄から取得します。
|
||
*/
|
||
Game_Event.prototype.findBalloonX = function () {
|
||
const x = PluginManagerEx.findMetaValue(this.event(), "BalloonX");
|
||
if (x) {
|
||
return x;
|
||
} else if (this.isNoImage()) {
|
||
return param.BalloonXNoImage;
|
||
} else {
|
||
return 0;
|
||
}
|
||
};
|
||
|
||
Game_Event.prototype.findBalloonY = function () {
|
||
const y = PluginManagerEx.findMetaValue(this.event(), "BalloonY");
|
||
if (y) {
|
||
return y;
|
||
} else if (this.isNoImage()) {
|
||
return param.BalloonYNoImage;
|
||
} else {
|
||
return 0;
|
||
}
|
||
};
|
||
|
||
/**
|
||
* Sprite_Balloon
|
||
* フキダシの表示位置を調整します。
|
||
*/
|
||
const _Sprite_Balloon_updatePosition =
|
||
Sprite_Balloon.prototype.updatePosition;
|
||
Sprite_Balloon.prototype.updatePosition = function () {
|
||
_Sprite_Balloon_updatePosition.apply(this, arguments);
|
||
if (this.targetObject && this.targetObject instanceof Game_CharacterBase) {
|
||
this.x += this.targetObject.findBalloonX();
|
||
this.y += this.targetObject.findBalloonY();
|
||
}
|
||
};
|
||
})();
|