|
|
@ -125,13 +125,13 @@
|
|
|
|
* @desc 小地图隐藏时,快捷按钮显示的图标序号。
|
|
|
|
* @desc 小地图隐藏时,快捷按钮显示的图标序号。
|
|
|
|
* @default 48
|
|
|
|
* @default 48
|
|
|
|
*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
//==================================================================================================================
|
|
|
|
//==================================================================================================================
|
|
|
|
; var XdRsData = XdRsData || {};
|
|
|
|
var XdRsData = XdRsData || {};
|
|
|
|
XdRsData.miniMap = {};
|
|
|
|
XdRsData.miniMap = {};
|
|
|
|
XdRsData.miniMap.parameters = PluginManager.parameters('XdRs_MiniMap');
|
|
|
|
XdRsData.miniMap.parameters = PluginManager.parameters("XdRs_MiniMap");
|
|
|
|
//==================================================================================================================
|
|
|
|
//==================================================================================================================
|
|
|
|
Input.keyMapper[+XdRsData.miniMap.parameters['key']] = 'miniMap';
|
|
|
|
Input.keyMapper[+XdRsData.miniMap.parameters["key"]] = "miniMap";
|
|
|
|
//==================================================================================================================
|
|
|
|
//==================================================================================================================
|
|
|
|
Tilemap.prototype.affixMiniMapSign = function () {
|
|
|
|
Tilemap.prototype.affixMiniMapSign = function () {
|
|
|
|
this._miniMapSign = true;
|
|
|
|
this._miniMapSign = true;
|
|
|
@ -146,17 +146,24 @@ Tilemap.prototype._updateLayerPositions = function (startX, startY) {
|
|
|
|
else XdRsData.miniMap.TMP_updateLayerPositions.call(this, startX, startY);
|
|
|
|
else XdRsData.miniMap.TMP_updateLayerPositions.call(this, startX, startY);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Tilemap.prototype.updateMiniMapPositions = function () {
|
|
|
|
Tilemap.prototype.updateMiniMapPositions = function () {
|
|
|
|
var ox = Math.floor(this.origin.x), oy = Math.floor(this.origin.y);
|
|
|
|
var ox = Math.floor(this.origin.x),
|
|
|
|
var x2 = ox.mod(this._layerWidth), y2 = oy.mod(this._layerHeight);
|
|
|
|
oy = Math.floor(this.origin.y);
|
|
|
|
|
|
|
|
var x2 = ox.mod(this._layerWidth),
|
|
|
|
|
|
|
|
y2 = oy.mod(this._layerHeight);
|
|
|
|
var w1 = ox < this._tileWidth ? this._width - x2 : this._layerWidth - x2;
|
|
|
|
var w1 = ox < this._tileWidth ? this._width - x2 : this._layerWidth - x2;
|
|
|
|
var h1 = oy < this._tileHeight ? this._height - y2 : this._layerHeight - y2;
|
|
|
|
var h1 = oy < this._tileHeight ? this._height - y2 : this._layerHeight - y2;
|
|
|
|
var w2 = this._width - w1, h2 = this._height - h1;
|
|
|
|
var w2 = this._width - w1,
|
|
|
|
|
|
|
|
h2 = this._height - h1;
|
|
|
|
for (var i = 0; i < 2; i++) {
|
|
|
|
for (var i = 0; i < 2; i++) {
|
|
|
|
var children = !i ? this._lowerLayer.children : this._upperLayer.children;
|
|
|
|
var children = !i ? this._lowerLayer.children : this._upperLayer.children;
|
|
|
|
children[0].move(0, 0, w1, h1); children[0].setFrame(x2, y2, w1, h1);
|
|
|
|
children[0].move(0, 0, w1, h1);
|
|
|
|
children[1].move(w1, 0, w2, h1); children[1].setFrame(0, y2, w2, h1);
|
|
|
|
children[0].setFrame(x2, y2, w1, h1);
|
|
|
|
children[2].move(0, h1, w1, h2); children[2].setFrame(x2, 0, w1, h2);
|
|
|
|
children[1].move(w1, 0, w2, h1);
|
|
|
|
children[3].move(w1, h1, w2, h2); children[3].setFrame(0, 0, w2, h2);
|
|
|
|
children[1].setFrame(0, y2, w2, h1);
|
|
|
|
|
|
|
|
children[2].move(0, h1, w1, h2);
|
|
|
|
|
|
|
|
children[2].setFrame(x2, 0, w1, h2);
|
|
|
|
|
|
|
|
children[3].move(w1, h1, w2, h2);
|
|
|
|
|
|
|
|
children[3].setFrame(0, 0, w2, h2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
//==================================================================================================================
|
|
|
|
//==================================================================================================================
|
|
|
@ -165,10 +172,10 @@ XdRsData.miniMap.side = function () {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
XdRsData.miniMap.setupDisplaySize = function () {
|
|
|
|
XdRsData.miniMap.setupDisplaySize = function () {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
this._displayWidth = eval(this.parameters['width']);
|
|
|
|
this._displayWidth = eval(this.parameters["width"]);
|
|
|
|
this._displayHeight = eval(this.parameters['height']);
|
|
|
|
this._displayHeight = eval(this.parameters["height"]);
|
|
|
|
} catch (e) {
|
|
|
|
} catch (e) {
|
|
|
|
alert('小地图宽/高参数设置错误,恢复到默认尺寸。');
|
|
|
|
alert("小地图宽/高参数设置错误,恢复到默认尺寸。");
|
|
|
|
this._displayWidth = Graphics.width / 3;
|
|
|
|
this._displayWidth = Graphics.width / 3;
|
|
|
|
this._displayHeight = Graphics.height / 3;
|
|
|
|
this._displayHeight = Graphics.height / 3;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -220,18 +227,18 @@ XdRsData.miniMap.loadTileset = function (tilemap) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
XdRsData.miniMap.getDpState = function (sym) {
|
|
|
|
XdRsData.miniMap.getDpState = function (sym) {
|
|
|
|
return this.parameters['dp' + sym] === 'Y';
|
|
|
|
return this.parameters["dp" + sym] === "Y";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
XdRsData.miniMap.getColor = function (n) {
|
|
|
|
XdRsData.miniMap.getColor = function (n) {
|
|
|
|
var data = this.parameters['color' + n] || '255,255,255';
|
|
|
|
var data = this.parameters["color" + n] || "255,255,255";
|
|
|
|
return 'rgb(' + data + ')';
|
|
|
|
return "rgb(" + data + ")";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
XdRsData.miniMap.getMiniIcon = function (kind) {
|
|
|
|
XdRsData.miniMap.getMiniIcon = function (kind) {
|
|
|
|
return this.parameters['icon' + kind] || 0;
|
|
|
|
return this.parameters["icon" + kind] || 0;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
XdRsData.miniMap.isDynamic = function (kind) {
|
|
|
|
XdRsData.miniMap.isDynamic = function (kind) {
|
|
|
|
if (![1, 2].contains(kind)) return false;
|
|
|
|
if (![1, 2].contains(kind)) return false;
|
|
|
|
return this.getDpState('Dc' + kind);
|
|
|
|
return this.getDpState("Dc" + kind);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
//==================================================================================================================
|
|
|
|
//==================================================================================================================
|
|
|
|
XdRsData.miniMap.GSinitialize = Game_System.prototype.initialize;
|
|
|
|
XdRsData.miniMap.GSinitialize = Game_System.prototype.initialize;
|
|
|
@ -241,7 +248,7 @@ Game_System.prototype.initialize = function () {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Game_System.prototype.initMiniMapData = function () {
|
|
|
|
Game_System.prototype.initMiniMapData = function () {
|
|
|
|
this._miniMapData = {};
|
|
|
|
this._miniMapData = {};
|
|
|
|
this._miniMapData.scale = 0.2; //缩放比例 ( 0.1 ~ 0.5之间较为合适,大了就失去小地图的意义)。
|
|
|
|
this._miniMapData.scale = 0.2; //缩放比例 ( 0.1 ~ 0.5之间较为合适,大了就失去小地图的意义)。
|
|
|
|
this._miniMapData.visible = true;
|
|
|
|
this._miniMapData.visible = true;
|
|
|
|
this._miniMapData.opacity = 195;
|
|
|
|
this._miniMapData.opacity = 195;
|
|
|
|
};
|
|
|
|
};
|
|
|
@ -264,7 +271,7 @@ Game_Character.prototype.miniIcon = function () {
|
|
|
|
return this._miniIcon || 0;
|
|
|
|
return this._miniIcon || 0;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Game_Character.prototype.isMiniVisible = function () {
|
|
|
|
Game_Character.prototype.isMiniVisible = function () {
|
|
|
|
return this._characterName !== '';
|
|
|
|
return this._characterName !== "";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
//==================================================================================================================
|
|
|
|
//==================================================================================================================
|
|
|
|
XdRsData.miniMap.GPrefresh = Game_Player.prototype.refresh;
|
|
|
|
XdRsData.miniMap.GPrefresh = Game_Player.prototype.refresh;
|
|
|
@ -277,7 +284,7 @@ Game_Player.prototype.refreshMiniIcon = function () {
|
|
|
|
this._miniIcon = actor ? actor.miniIcon() : 0;
|
|
|
|
this._miniIcon = actor ? actor.miniIcon() : 0;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Game_Player.prototype.miniMapMembers = function () {
|
|
|
|
Game_Player.prototype.miniMapMembers = function () {
|
|
|
|
if (!XdRsData.miniMap.getDpState('Follower')) return [this];
|
|
|
|
if (!XdRsData.miniMap.getDpState("Follower")) return [this];
|
|
|
|
return this.followers()._data.concat([this]);
|
|
|
|
return this.followers()._data.concat([this]);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
//==================================================================================================================
|
|
|
|
//==================================================================================================================
|
|
|
@ -330,15 +337,18 @@ Game_Event.prototype.isMiniVisible = function () {
|
|
|
|
return Game_Character.prototype.isMiniVisible.call(this);
|
|
|
|
return Game_Character.prototype.isMiniVisible.call(this);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Game_Event.prototype.hasCode = function (code) {
|
|
|
|
Game_Event.prototype.hasCode = function (code) {
|
|
|
|
return this.page() && this.page().list.some(function (l) {
|
|
|
|
return (
|
|
|
|
return l.code === code;
|
|
|
|
this.page() &&
|
|
|
|
});
|
|
|
|
this.page().list.some(function (l) {
|
|
|
|
|
|
|
|
return l.code === code;
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
//==================================================================================================================
|
|
|
|
//==================================================================================================================
|
|
|
|
XdRsData.miniMap.GIpluginCommand = Game_Interpreter.prototype.pluginCommand;
|
|
|
|
XdRsData.miniMap.GIpluginCommand = Game_Interpreter.prototype.pluginCommand;
|
|
|
|
Game_Interpreter.prototype.pluginCommand = function (command, args) {
|
|
|
|
Game_Interpreter.prototype.pluginCommand = function (command, args) {
|
|
|
|
XdRsData.miniMap.GIpluginCommand.call(this, command, args);
|
|
|
|
XdRsData.miniMap.GIpluginCommand.call(this, command, args);
|
|
|
|
command === 'RetractMiniMap' && $gameSystem.setMiniMapData('visible', false);
|
|
|
|
command === "RetractMiniMap" && $gameSystem.setMiniMapData("visible", false);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
//==================================================================================================================
|
|
|
|
//==================================================================================================================
|
|
|
|
function Window_MiniMap() {
|
|
|
|
function Window_MiniMap() {
|
|
|
@ -375,20 +385,20 @@ Window_MiniMap.prototype.standardFontSize = function () {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_MiniMap.prototype.scaleText = function () {
|
|
|
|
Window_MiniMap.prototype.scaleText = function () {
|
|
|
|
var scale = $gameSystem.miniMapData().scale;
|
|
|
|
var scale = $gameSystem.miniMapData().scale;
|
|
|
|
return '' + (1 / scale).toFixed(1) + ' : ' + 1;
|
|
|
|
return "" + (1 / scale).toFixed(1) + " : " + 1;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_MiniMap.prototype.mapNameColor = function () {
|
|
|
|
Window_MiniMap.prototype.mapNameColor = function () {
|
|
|
|
var data = $dataMap.note.match(/<NameColor:(\S+)>/);
|
|
|
|
var data = $dataMap.note.match(/<NameColor:(\S+)>/);
|
|
|
|
data = data ? RegExp.$1 : '255,255,255';
|
|
|
|
data = data ? RegExp.$1 : "255,255,255";
|
|
|
|
return 'rgb(' + data + ')';
|
|
|
|
return "rgb(" + data + ")";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_MiniMap.prototype.createSprite = function () {
|
|
|
|
Window_MiniMap.prototype.createSprite = function () {
|
|
|
|
this._sprite = new Sprite_MiniMap();
|
|
|
|
this._sprite = new Sprite_MiniMap();
|
|
|
|
this.addChildToBack(this._sprite);
|
|
|
|
this.addChildToBack(this._sprite);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_MiniMap.prototype.drawInfo = function () {
|
|
|
|
Window_MiniMap.prototype.drawInfo = function () {
|
|
|
|
['MapName', 'Place', 'Scale'].forEach(function (sym) {
|
|
|
|
["MapName", "Place", "Scale"].forEach(function (sym) {
|
|
|
|
XdRsData.miniMap.getDpState(sym) && this['draw' + sym]();
|
|
|
|
XdRsData.miniMap.getDpState(sym) && this["draw" + sym]();
|
|
|
|
}, this);
|
|
|
|
}, this);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_MiniMap.prototype.drawMapName = function () {
|
|
|
|
Window_MiniMap.prototype.drawMapName = function () {
|
|
|
@ -401,15 +411,16 @@ Window_MiniMap.prototype.drawPlace = function () {
|
|
|
|
this._dataX = $gamePlayer.x;
|
|
|
|
this._dataX = $gamePlayer.x;
|
|
|
|
this._dataY = $gamePlayer.y;
|
|
|
|
this._dataY = $gamePlayer.y;
|
|
|
|
var w = Math.min(this.contents.width / 3, 90);
|
|
|
|
var w = Math.min(this.contents.width / 3, 90);
|
|
|
|
var x1 = this.contents.width - w, x2 = x1 + w / 2;
|
|
|
|
var x1 = this.contents.width - w,
|
|
|
|
|
|
|
|
x2 = x1 + w / 2;
|
|
|
|
this.contents.clearRect(x1 - 4, 0, w, this.lineHeight() + 8);
|
|
|
|
this.contents.clearRect(x1 - 4, 0, w, this.lineHeight() + 8);
|
|
|
|
this.changeTextColor(XdRsData.miniMap.getColor(1));
|
|
|
|
this.changeTextColor(XdRsData.miniMap.getColor(1));
|
|
|
|
var cw = this.contents.measureTextWidth('X:') + 4;
|
|
|
|
var cw = this.contents.measureTextWidth("X:") + 4;
|
|
|
|
this.drawText('X:', x1, 4, cw);
|
|
|
|
this.drawText("X:", x1, 4, cw);
|
|
|
|
this.drawText('Y:', x2, 4, cw);
|
|
|
|
this.drawText("Y:", x2, 4, cw);
|
|
|
|
this.changeTextColor(XdRsData.miniMap.getColor(2));
|
|
|
|
this.changeTextColor(XdRsData.miniMap.getColor(2));
|
|
|
|
this.drawText('' + this._dataX, x1 + cw, 4, 30);
|
|
|
|
this.drawText("" + this._dataX, x1 + cw, 4, 30);
|
|
|
|
this.drawText('' + this._dataY, x2 + cw, 4, 30);
|
|
|
|
this.drawText("" + this._dataY, x2 + cw, 4, 30);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_MiniMap.prototype.drawScale = function () {
|
|
|
|
Window_MiniMap.prototype.drawScale = function () {
|
|
|
|
var w = this.contents.width / 4;
|
|
|
|
var w = this.contents.width / 4;
|
|
|
@ -417,7 +428,7 @@ Window_MiniMap.prototype.drawScale = function () {
|
|
|
|
var x = this.contents.width - w;
|
|
|
|
var x = this.contents.width - w;
|
|
|
|
this.contents.clearRect(x, y, w, this.lineHeight());
|
|
|
|
this.contents.clearRect(x, y, w, this.lineHeight());
|
|
|
|
this.changeTextColor(XdRsData.miniMap.getColor(3));
|
|
|
|
this.changeTextColor(XdRsData.miniMap.getColor(3));
|
|
|
|
this.drawText(this.scaleText(), x, y, w, 'center');
|
|
|
|
this.drawText(this.scaleText(), x, y, w, "center");
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_MiniMap.prototype.isPlayerTouched = function () {
|
|
|
|
Window_MiniMap.prototype.isPlayerTouched = function () {
|
|
|
|
var lx = $gamePlayer.screenX() - 40;
|
|
|
|
var lx = $gamePlayer.screenX() - 40;
|
|
|
@ -425,13 +436,12 @@ Window_MiniMap.prototype.isPlayerTouched = function () {
|
|
|
|
var ty = $gamePlayer.screenY() - 80;
|
|
|
|
var ty = $gamePlayer.screenY() - 80;
|
|
|
|
var by = $gamePlayer.screenY() + 20;
|
|
|
|
var by = $gamePlayer.screenY() + 20;
|
|
|
|
if (rx < this.x || by < this.y) return false;
|
|
|
|
if (rx < this.x || by < this.y) return false;
|
|
|
|
if (lx > (this.x + this.width)) return false;
|
|
|
|
if (lx > this.x + this.width) return false;
|
|
|
|
if (ty > (this.y + this.height)) return false;
|
|
|
|
if (ty > this.y + this.height) return false;
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_MiniMap.prototype.isPlayerMoved = function () {
|
|
|
|
Window_MiniMap.prototype.isPlayerMoved = function () {
|
|
|
|
return this._dataX !== $gamePlayer.x ||
|
|
|
|
return this._dataX !== $gamePlayer.x || this._dataY !== $gamePlayer.y;
|
|
|
|
this._dataY !== $gamePlayer.y;
|
|
|
|
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_MiniMap.prototype.isVisibleChanged = function () {
|
|
|
|
Window_MiniMap.prototype.isVisibleChanged = function () {
|
|
|
|
return this._isVisible !== $gameSystem.miniMapData().visible;
|
|
|
|
return this._isVisible !== $gameSystem.miniMapData().visible;
|
|
|
@ -463,11 +473,11 @@ Window_MiniMap.prototype.updateVisible = function () {
|
|
|
|
this._moving = true;
|
|
|
|
this._moving = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_MiniMap.prototype.updatePlayerMove = function () {
|
|
|
|
Window_MiniMap.prototype.updatePlayerMove = function () {
|
|
|
|
if (!XdRsData.miniMap.getDpState('Place')) return;
|
|
|
|
if (!XdRsData.miniMap.getDpState("Place")) return;
|
|
|
|
this.isPlayerMoved() && this.drawPlace();
|
|
|
|
this.isPlayerMoved() && this.drawPlace();
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_MiniMap.prototype.updatePlayerTouch = function () {
|
|
|
|
Window_MiniMap.prototype.updatePlayerTouch = function () {
|
|
|
|
if (!this._isVisible || !XdRsData.miniMap.getDpState('Hide')) return;
|
|
|
|
if (!this._isVisible || !XdRsData.miniMap.getDpState("Hide")) return;
|
|
|
|
//this.visible = !this.isPlayerTouched();
|
|
|
|
//this.visible = !this.isPlayerTouched();
|
|
|
|
this._sprite.opacity = this.opacity = this.isPlayerTouched() ? 50 : $gameSystem.miniMapData().opacity;
|
|
|
|
this._sprite.opacity = this.opacity = this.isPlayerTouched() ? 50 : $gameSystem.miniMapData().opacity;
|
|
|
|
};
|
|
|
|
};
|
|
|
@ -492,7 +502,7 @@ Mini_Button.prototype.sh = function () {
|
|
|
|
return this.height / 2;
|
|
|
|
return this.height / 2;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Mini_Button.prototype.size = function () {
|
|
|
|
Mini_Button.prototype.size = function () {
|
|
|
|
return +XdRsData.miniMap.parameters['miniSize'] || 24;
|
|
|
|
return +XdRsData.miniMap.parameters["miniSize"] || 24;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Mini_Button.prototype.createBitmap = function () {
|
|
|
|
Mini_Button.prototype.createBitmap = function () {
|
|
|
|
this.bitmap = new Bitmap(this.size(), this.size());
|
|
|
|
this.bitmap = new Bitmap(this.size(), this.size());
|
|
|
@ -502,24 +512,27 @@ Mini_Button.prototype.drawArrow = function () {
|
|
|
|
this._lastState = $gameSystem.miniMapData().visible;
|
|
|
|
this._lastState = $gameSystem.miniMapData().visible;
|
|
|
|
var n = this._lastState ? 6 : 7;
|
|
|
|
var n = this._lastState ? 6 : 7;
|
|
|
|
var index = XdRsData.miniMap.getMiniIcon(n);
|
|
|
|
var index = XdRsData.miniMap.getMiniIcon(n);
|
|
|
|
var bitmap = ImageManager.loadSystem('IconSet');
|
|
|
|
var bitmap = ImageManager.loadSystem("IconSet");
|
|
|
|
var pw = Window_Base._iconWidth, ph = Window_Base._iconHeight;
|
|
|
|
var pw = Window_Base._iconWidth,
|
|
|
|
var sx = index % 16 * pw, sy = Math.floor(index / 16) * ph;
|
|
|
|
ph = Window_Base._iconHeight;
|
|
|
|
|
|
|
|
var sx = (index % 16) * pw,
|
|
|
|
|
|
|
|
sy = Math.floor(index / 16) * ph;
|
|
|
|
this.bitmap.blt(bitmap, sx, sy, pw, ph, 0, 0, this.size(), this.size());
|
|
|
|
this.bitmap.blt(bitmap, sx, sy, pw, ph, 0, 0, this.size(), this.size());
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Mini_Button.prototype.changeVisible = function () {
|
|
|
|
Mini_Button.prototype.changeVisible = function () {
|
|
|
|
SoundManager.playOk();
|
|
|
|
SoundManager.playOk();
|
|
|
|
var state = $gameSystem.miniMapData().visible;
|
|
|
|
var state = $gameSystem.miniMapData().visible;
|
|
|
|
$gameSystem.setMiniMapData('visible', !state);
|
|
|
|
$gameSystem.setMiniMapData("visible", !state);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Mini_Button.prototype.isStateChanged = function () {
|
|
|
|
Mini_Button.prototype.isStateChanged = function () {
|
|
|
|
return this._lastState !== $gameSystem.miniMapData().visible;
|
|
|
|
return this._lastState !== $gameSystem.miniMapData().visible;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Mini_Button.prototype.isTouch = function () {
|
|
|
|
Mini_Button.prototype.isTouch = function () {
|
|
|
|
var x = TouchInput.x, y = TouchInput.y;
|
|
|
|
var x = TouchInput.x,
|
|
|
|
var bx = this.x - this.sw(), by = this.y - this.sh();
|
|
|
|
y = TouchInput.y;
|
|
|
|
return x > bx && x < (bx + this.width) &&
|
|
|
|
var bx = this.x - this.sw(),
|
|
|
|
y > by && y < (by + this.height);
|
|
|
|
by = this.y - this.sh();
|
|
|
|
|
|
|
|
return x > bx && x < bx + this.width && y > by && y < by + this.height;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Mini_Button.prototype.press = function () {
|
|
|
|
Mini_Button.prototype.press = function () {
|
|
|
|
this.scale = new Point(0.9, 0.9);
|
|
|
|
this.scale = new Point(0.9, 0.9);
|
|
|
@ -536,7 +549,7 @@ Mini_Button.prototype.updateState = function () {
|
|
|
|
this.isStateChanged() && this.drawArrow();
|
|
|
|
this.isStateChanged() && this.drawArrow();
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Mini_Button.prototype.updateInput = function () {
|
|
|
|
Mini_Button.prototype.updateInput = function () {
|
|
|
|
Input.isTriggered('miniMap') && this.changeVisible();
|
|
|
|
Input.isTriggered("miniMap") && this.changeVisible();
|
|
|
|
if (!TouchInput.isTriggered()) return;
|
|
|
|
if (!TouchInput.isTriggered()) return;
|
|
|
|
this.isTouch() && this.press();
|
|
|
|
this.isTouch() && this.press();
|
|
|
|
};
|
|
|
|
};
|
|
|
@ -575,7 +588,12 @@ Sprite_MiniMap.prototype.createTileMap = function () {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Sprite_MiniMap.prototype.createParts = function () {
|
|
|
|
Sprite_MiniMap.prototype.createParts = function () {
|
|
|
|
this._parts = [];
|
|
|
|
this._parts = [];
|
|
|
|
var data = $gameMap.events().concat($gamePlayer.miniMapMembers());
|
|
|
|
var data = $gameMap
|
|
|
|
|
|
|
|
.events()
|
|
|
|
|
|
|
|
.filter((event) => {
|
|
|
|
|
|
|
|
return !event._erased;
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
.concat($gamePlayer.miniMapMembers());
|
|
|
|
data.forEach(function (e) {
|
|
|
|
data.forEach(function (e) {
|
|
|
|
var part = new Sprite_MiniPart(e);
|
|
|
|
var part = new Sprite_MiniPart(e);
|
|
|
|
this._parts.push(part);
|
|
|
|
this._parts.push(part);
|
|
|
@ -597,11 +615,10 @@ Sprite_MiniMap.prototype.realY = function (y, add) {
|
|
|
|
return y - this._miniY * this._scale + add;
|
|
|
|
return y - this._miniY * this._scale + add;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Sprite_MiniMap.prototype.isScrolled = function () {
|
|
|
|
Sprite_MiniMap.prototype.isScrolled = function () {
|
|
|
|
return this._dataX !== this._miniX ||
|
|
|
|
return this._dataX !== this._miniX || this._dataY !== this._miniY;
|
|
|
|
this._dataY !== this._miniY;
|
|
|
|
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Sprite_MiniMap.prototype.setPosition = function () {
|
|
|
|
Sprite_MiniMap.prototype.setPosition = function () {
|
|
|
|
var x = y = XdRsData.miniMap.side();
|
|
|
|
var x = (y = XdRsData.miniMap.side());
|
|
|
|
var dw = XdRsData.miniMap.displayWidth();
|
|
|
|
var dw = XdRsData.miniMap.displayWidth();
|
|
|
|
var dh = XdRsData.miniMap.displayHeight();
|
|
|
|
var dh = XdRsData.miniMap.displayHeight();
|
|
|
|
x = Math.max(x, (dw - this.width) / 2 + x);
|
|
|
|
x = Math.max(x, (dw - this.width) / 2 + x);
|
|
|
@ -611,7 +628,8 @@ Sprite_MiniMap.prototype.setPosition = function () {
|
|
|
|
Sprite_MiniMap.prototype.refreshScroll = function () {
|
|
|
|
Sprite_MiniMap.prototype.refreshScroll = function () {
|
|
|
|
var mw = XdRsData.miniMap.realMapWidth();
|
|
|
|
var mw = XdRsData.miniMap.realMapWidth();
|
|
|
|
var mh = XdRsData.miniMap.realMapHeight();
|
|
|
|
var mh = XdRsData.miniMap.realMapHeight();
|
|
|
|
var tw = this._tileMap.width, th = this._tileMap.height;
|
|
|
|
var tw = this._tileMap.width,
|
|
|
|
|
|
|
|
th = this._tileMap.height;
|
|
|
|
this._miniX = this.playerX() - tw / 2;
|
|
|
|
this._miniX = this.playerX() - tw / 2;
|
|
|
|
this._miniY = this.playerY() - th / 2;
|
|
|
|
this._miniY = this.playerY() - th / 2;
|
|
|
|
this._miniX = Math.max(0, Math.min(mw - tw, this._miniX));
|
|
|
|
this._miniX = Math.max(0, Math.min(mw - tw, this._miniX));
|
|
|
@ -627,7 +645,8 @@ Sprite_MiniMap.prototype.updateScroll = function () {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Sprite_MiniMap.prototype.updateScrolled = function () {
|
|
|
|
Sprite_MiniMap.prototype.updateScrolled = function () {
|
|
|
|
if (!this.visible || !this.isScrolled()) return;
|
|
|
|
if (!this.visible || !this.isScrolled()) return;
|
|
|
|
this._dataX = this._miniX; this._dataY = this._miniY;
|
|
|
|
this._dataX = this._miniX;
|
|
|
|
|
|
|
|
this._dataY = this._miniY;
|
|
|
|
this._tileMap.origin.x = this._miniX;
|
|
|
|
this._tileMap.origin.x = this._miniX;
|
|
|
|
this._tileMap.origin.y = this._miniY;
|
|
|
|
this._tileMap.origin.y = this._miniY;
|
|
|
|
};
|
|
|
|
};
|
|
|
@ -664,7 +683,7 @@ Sprite_MiniPart.prototype.bitmapHeight = function () {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Sprite_MiniPart.prototype.anchorY = function () {
|
|
|
|
Sprite_MiniPart.prototype.anchorY = function () {
|
|
|
|
var scale = $gameSystem.miniMapData().scale;
|
|
|
|
var scale = $gameSystem.miniMapData().scale;
|
|
|
|
return $gameMap.tileHeight() * scale / this.bitmap.height;
|
|
|
|
return ($gameMap.tileHeight() * scale) / this.bitmap.height;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Sprite_MiniPart.prototype.createBitmap = function () {
|
|
|
|
Sprite_MiniPart.prototype.createBitmap = function () {
|
|
|
|
this.bitmap = new Bitmap(this.bitmapWidth(), this.bitmapHeight());
|
|
|
|
this.bitmap = new Bitmap(this.bitmapWidth(), this.bitmapHeight());
|
|
|
@ -678,10 +697,13 @@ Sprite_MiniPart.prototype.refresh = function () {
|
|
|
|
this.visible && this.drawPart();
|
|
|
|
this.visible && this.drawPart();
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Sprite_MiniPart.prototype.drawPart = function () {
|
|
|
|
Sprite_MiniPart.prototype.drawPart = function () {
|
|
|
|
var bitmap = ImageManager.loadSystem('IconSet');
|
|
|
|
var bitmap = ImageManager.loadSystem("IconSet");
|
|
|
|
var pw = Window_Base._iconWidth, ph = Window_Base._iconHeight;
|
|
|
|
var pw = Window_Base._iconWidth,
|
|
|
|
var sx = this._icon % 16 * pw, sy = Math.floor(this._icon / 16) * ph;
|
|
|
|
ph = Window_Base._iconHeight;
|
|
|
|
var bw = this.bitmap.width, bh = this.bitmap.height;
|
|
|
|
var sx = (this._icon % 16) * pw,
|
|
|
|
|
|
|
|
sy = Math.floor(this._icon / 16) * ph;
|
|
|
|
|
|
|
|
var bw = this.bitmap.width,
|
|
|
|
|
|
|
|
bh = this.bitmap.height;
|
|
|
|
this.bitmap.blt(bitmap, sx, sy, pw, ph, 0, 0, bw, bh);
|
|
|
|
this.bitmap.blt(bitmap, sx, sy, pw, ph, 0, 0, bw, bh);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Sprite_MiniPart.prototype.isEvent = function () {
|
|
|
|
Sprite_MiniPart.prototype.isEvent = function () {
|
|
|
@ -695,18 +717,17 @@ Sprite_MiniPart.prototype.isDynamic = function () {
|
|
|
|
return XdRsData.miniMap.isDynamic(this._obj.miniKind());
|
|
|
|
return XdRsData.miniMap.isDynamic(this._obj.miniKind());
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Sprite_MiniPart.prototype.isStateChanged = function () {
|
|
|
|
Sprite_MiniPart.prototype.isStateChanged = function () {
|
|
|
|
return this._icon !== this._obj.miniIcon() ||
|
|
|
|
return this._icon !== this._obj.miniIcon() || this.visible !== this.isVisible();
|
|
|
|
this.visible !== this.isVisible();
|
|
|
|
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Sprite_MiniPart.prototype.isInScreen = function () {
|
|
|
|
Sprite_MiniPart.prototype.isInScreen = function () {
|
|
|
|
var w = XdRsData.miniMap.displayWidth();
|
|
|
|
var w = XdRsData.miniMap.displayWidth();
|
|
|
|
var h = XdRsData.miniMap.displayHeight();
|
|
|
|
var h = XdRsData.miniMap.displayHeight();
|
|
|
|
var side = XdRsData.miniMap.side();
|
|
|
|
var side = XdRsData.miniMap.side();
|
|
|
|
return this.x >= 0 && this.y >= 0 && this.x < w && (this.y - side) < h;
|
|
|
|
return this.x >= 0 && this.y >= 0 && this.x < w && this.y - side < h;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Sprite_MiniPart.prototype.dyAdd = function () {
|
|
|
|
Sprite_MiniPart.prototype.dyAdd = function () {
|
|
|
|
var scale = $gameSystem.miniMapData().scale;
|
|
|
|
var scale = $gameSystem.miniMapData().scale;
|
|
|
|
return 30 * scale / 10;
|
|
|
|
return (30 * scale) / 10;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Sprite_MiniPart.prototype.update = function () {
|
|
|
|
Sprite_MiniPart.prototype.update = function () {
|
|
|
|
Sprite.prototype.update.call(this);
|
|
|
|
Sprite.prototype.update.call(this);
|
|
|
@ -733,10 +754,10 @@ Sprite_MiniPart.prototype.updatePosition = function () {
|
|
|
|
XdRsData.miniMap.WOaddGeneralOptions = Window_Options.prototype.addGeneralOptions;
|
|
|
|
XdRsData.miniMap.WOaddGeneralOptions = Window_Options.prototype.addGeneralOptions;
|
|
|
|
Window_Options.prototype.addGeneralOptions = function () {
|
|
|
|
Window_Options.prototype.addGeneralOptions = function () {
|
|
|
|
XdRsData.miniMap.WOaddGeneralOptions.call(this);
|
|
|
|
XdRsData.miniMap.WOaddGeneralOptions.call(this);
|
|
|
|
this.addCommand('小地图透明度', 'miniMapOpacity');
|
|
|
|
this.addCommand("小地图透明度", "miniMapOpacity");
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_Options.prototype.isMiniSymbol = function (symbol) {
|
|
|
|
Window_Options.prototype.isMiniSymbol = function (symbol) {
|
|
|
|
return symbol === 'miniMapOpacity';
|
|
|
|
return symbol === "miniMapOpacity";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
XdRsData.miniMap.WOstatusText = Window_Options.prototype.statusText;
|
|
|
|
XdRsData.miniMap.WOstatusText = Window_Options.prototype.statusText;
|
|
|
|
Window_Options.prototype.statusText = function (index) {
|
|
|
|
Window_Options.prototype.statusText = function (index) {
|
|
|
@ -744,7 +765,7 @@ Window_Options.prototype.statusText = function (index) {
|
|
|
|
return XdRsData.miniMap.WOstatusText.call(this, index);
|
|
|
|
return XdRsData.miniMap.WOstatusText.call(this, index);
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_Options.prototype.miniValText = function () {
|
|
|
|
Window_Options.prototype.miniValText = function () {
|
|
|
|
return '' + $gameSystem.miniMapData().opacity;
|
|
|
|
return "" + $gameSystem.miniMapData().opacity;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Window_Options.prototype.setMiniVal = function (type) {
|
|
|
|
Window_Options.prototype.setMiniVal = function (type) {
|
|
|
|
var val = $gameSystem.miniMapData().opacity;
|
|
|
|
var val = $gameSystem.miniMapData().opacity;
|
|
|
@ -754,7 +775,7 @@ Window_Options.prototype.setMiniVal = function (type) {
|
|
|
|
Window_Options.prototype.changeMiniData = function (symbol, type) {
|
|
|
|
Window_Options.prototype.changeMiniData = function (symbol, type) {
|
|
|
|
SoundManager.playCursor();
|
|
|
|
SoundManager.playCursor();
|
|
|
|
var value = this.setMiniVal(type);
|
|
|
|
var value = this.setMiniVal(type);
|
|
|
|
$gameSystem.setMiniMapData('opacity', value);
|
|
|
|
$gameSystem.setMiniMapData("opacity", value);
|
|
|
|
this.redrawItem(this.findSymbol(symbol));
|
|
|
|
this.redrawItem(this.findSymbol(symbol));
|
|
|
|
};
|
|
|
|
};
|
|
|
|
XdRsData.miniMap.WOprocessOk = Window_Options.prototype.processOk;
|
|
|
|
XdRsData.miniMap.WOprocessOk = Window_Options.prototype.processOk;
|
|
|
@ -785,7 +806,7 @@ Scene_Map.prototype.createAllWindows = function () {
|
|
|
|
};
|
|
|
|
};
|
|
|
|
Scene_Map.prototype.createMiniMap = function () {
|
|
|
|
Scene_Map.prototype.createMiniMap = function () {
|
|
|
|
this._miniMap = new Window_MiniMap();
|
|
|
|
this._miniMap = new Window_MiniMap();
|
|
|
|
this._miniButton = new Mini_Button(this._miniMap.x + this._miniMap.width);//图标X轴位置
|
|
|
|
this._miniButton = new Mini_Button(this._miniMap.x + this._miniMap.width); //图标X轴位置
|
|
|
|
this.addChild(this._miniMap);
|
|
|
|
this.addChild(this._miniMap);
|
|
|
|
this.addChild(this._miniButton);
|
|
|
|
this.addChild(this._miniButton);
|
|
|
|
};
|
|
|
|
};
|
|
|
|