>初歩的な質問で恐縮なのですが”呼び出す”というのはどうすればいいのでしょうか?
自分が指摘したのは上の方法で合ってますよ。でもこの問題とは直接関係が無かったようですね
こちらでも再現環境を整えて弄くってみましたけど原因は分かりました
コード: 全て選択
Window_Message.prototype.newPage = function(textState) {
this.contents.clear();
this.resetFontSettings();
this.clearFlags();
this.loadMessageFace();
textState.x = this.newLineX();
textState.y = 0;
textState.left = this.newLineX();
textState.height = this.calcTextHeight(textState, false);
};
メッセージの改ページの処理内で
>this.resetFontSettings();
が実行されています。これは
コード: 全て選択
Window_Base.prototype.resetFontSettings = function() {
this.contents.fontFace = this.standardFontFace();
this.contents.fontSize = this.standardFontSize();
this.resetTextColor();
};
文字のフォントと大きさと色を強制的にデフォルト値にリセットする処理です。
これで「改ページ直後の一文字目が文字枠だけ変化して文字色だけ白に変化している」という状態の説明がつくと思います。
それじゃどうやって改善すれば良いのか、というと難しいところですね。
このプラグインはメッセージウィンドウのみ適用予定なのか、全てのウィンドウに適用予定なのかは存じませんが
制御文字付きテキスト描画内でもthis.resetFontSettings();が使用されています。
コード: 全て選択
Window_Base.prototype.drawTextEx = function(text, x, y) {
if (text) {
var textState = { index: 0, x: x, y: y, left: x };
textState.text = this.convertEscapeCharacters(text);
textState.height = this.calcTextHeight(textState, false);
this.resetFontSettings();
while (textState.index < textState.text.length) {
this.processCharacter(textState);
}
return textState.x - x;
} else {
return 0;
}
};
つまり一部のウィンドウでは事前にthis.changeTextColorを実行しても適用されません。
それじゃresetFontSettingsを改造したり削除すれば良いんじゃないか、という話になりますけど
また別の問題が新たに発生する可能性があり「簡単な変更プラグイン」ではなくなってしまう恐れがあります。
それを踏まえた上でプラグインの実装を複雑化するかプラグインの利用方法を単純化・限定するか一考した方が良いと思います。