トリアコンタン製NobelMashroomのウィンドウ表示の改良
トリアコンタン様のNobelMashroomでウィンドウを「暗くする」にしたときの
表示で上下の透明が気になったりすることはありませんか?
通常画面全体を「暗くする」のウィンドウ表示した場合、
初期状態では上下にグラデーションを設定しています。
このグラデーションをなくすには以下のコードを追加しましょう。
あくまで「暗くする」のときのみ反映されますので
ノベルウィンドウでなく通常サイズウィンドウでも「暗くする」
のときはウィンドウ上のみグラデーションにして
下はグラデなしになります。
ウィンドウが通常サイズで「暗くする」のときデフォルトの
上下グラデにはなりませんのでご注意ください。
// メッセージの背景が「暗くする」設定の場合のウィンドウの上下端グラデーションの処理
Window_Message.prototype.refreshDimmerBitmap = function() {
if (this._dimmerSprite) {
var bitmap = this._dimmerSprite.bitmap;
var w = this.width;
var h = this.height;
var m = this.padding;
var c1 = this.dimColor1();
var c2 = this.dimColor2();
bitmap.resize(w, h);
if($gameSystem._messageViewType == 1){
bitmap.fillRect(0, 0, w, h * 2, c1);
}else{
bitmap.gradientFillRect(0, 0, w, m, c2, c1, true);
bitmap.fillRect(0, m, w, h * 2, c1);
}
this._dimmerSprite.setFrame(0, 0, w, h);
}
};
// メッセージの背景が「暗くする」設定の場合の中心の色
Window_Message.prototype.dimColor1 = function() {
return 'rgba(0, 0, 0, 0.2)'
};
// メッセージの背景が「暗くする」設定の場合の上下端の色
Window_Message.prototype.dimColor2 = function() {
return 'rgba(0, 0, 0, 0)';
};
以下は行数を減らして2行で通常ウィンドウの「暗くする」にしたときの例
更に以下はノベルウィンドウ時の上下のグラデをなくした例