有没有办法将青绿色的高亮边框更改为其他图片?不是使用“window.png”文件的那种。如果有相关方法,或者有任何有助于实现此功能的插件,请告诉我。
另外,有没有办法让它停止闪烁?
高光部分来源于 Window.png 中位于 x 96、y 96 的 48x48 正方形区域,即其右半部分的左下角。所以,如果你只是希望它看起来不同,可以直接编辑该正方形区域,无需使用插件。MV 会拉伸中间部分,并保留外侧 4 像素作为边框。
如果你希望它使用自己的图片,我不知道有仅做此功能的插件,所以这里提供一个小型插件。它会让高光使用 img/system/Cursor.png,并停止闪烁。制作一个 48x48 的 Cursor.png,其布局方式与 Window.png 中的那个正方形相同:
/*:
* @plugindesc 从 img/system/Cursor.png 获取选择高光,无闪烁效果。
* @help 在 img/system 中放置一个 48x48 的 Cursor.png。
* 外侧 4 像素为边框,中间部分会被拉伸。
*/
(function() {
var cursorSkin = null;
Window.prototype._refreshCursor = function() {
var pad = this._padding;
var x = this._cursorRect.x + pad - this.origin.x;
var y = this._cursorRect.y + pad - this.origin.y;
var w = this._cursorRect.width;
var h = this._cursorRect.height;
var m = 4;
var q = 48;
var x2 = Math.max(x, pad);
var y2 = Math.max(y, pad);
var ox = x - x2;
var oy = y - y2;
var w2 = Math.min(w, this._width - pad - x2);
var h2 = Math.min(h, this._height - pad - y2);
var bitmap = new Bitmap(w2, h2);
this._windowCursorSprite.bitmap = bitmap;
this._windowCursorSprite.setFrame(0, 0, w2, h2);
this._windowCursorSprite.move(x2, y2);
if (!cursorSkin) cursorSkin = ImageManager.loadSystem('Cursor');
if (!cursorSkin.isReady()) {
cursorSkin.addLoadListener(this._refreshCursor.bind(this));
return;
}
if (w > 0 && h > 0) {
var s = cursorSkin;
bitmap.blt(s, m, m, q-m*2, q-m*2, ox+m, oy+m, w-m*2, h-m*2);
bitmap.blt(s, m, 0, q-m*2, m, ox+m, oy, w-m*2, m);
bitmap.blt(s, m, q-m, q-m*2, m, ox+m, oy+h-m, w-m*2, m);
bitmap.blt(s, 0, m, m, q-m*2, ox, oy+m, m, h-m*2);
bitmap.blt(s, q-m, m, m, q-m*2, ox+w-m, oy+m, m, h-m*2);
bitmap.blt(s, 0, 0, m, m, ox, oy, m, m);
bitmap.blt(s, q-m, 0, m, m, ox+w-m, oy, m, m);
bitmap.blt(s, 0, q-m, m, m, ox, oy+h-m, m, m);
bitmap.blt(s, q-m, q-m, m, m, ox+w-m, oy+h-m, m, m);
}
};
var _updateCursor = Window.prototype._updateCursor;
Window.prototype._updateCursor = function() {
_updateCursor.call(this);
this._windowCursorSprite.alpha = this.contentsOpacity / 255;
};
})();
如果你只想去除闪烁效果并保留 Window.png 的高光,请删除从 var cursorSkin 开始到 _refreshCursor 结束的所有代码,只保留最后一部分。
我会建议将其放在插件列表的底部,因为任何更改窗口的插件都可能会覆盖它。
论坛不允许我上传 .js 文件,但根据上面的代码,制作一个只需要一分钟:
如果“保存类型”仍停留在“文本文档”,Windows 会将其保存为 CursorHighlight.js.txt,并且它不会出现在插件管理器中。
然后,你的 48x48 大小的 Cursor.png 文件应放入 img/system 文件夹中。