文字枠の処理について

ぶっきい
記事: 6
登録日時: 2016年1月21日(木) 21:07

文字枠の処理について

投稿記事by ぶっきい » 2016年1月21日(木) 21:35

文字の外枠をもう少し太くするか、濃くしたいのですが、文字枠の処理はどの
JSで行われているのでしょうか?

個人的にはrpg_scenesのthis._gameTitleSprite.bitmap.outlineWidth = 8;が
怪しいと思い数値を変えてみたりしましたが、特に変化なしでした。

この処理の詳細をご存知の方がいらっしゃいましたら、ご教示をお願いします。




無題21.png

アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: 文字枠の処理について

投稿記事by トリアコンタン » 2016年1月21日(木) 21:55

こんにちは。
文字枠の処理ですが、ご推察の通りBitmapクラスのoutlineWidthプロパティで間違いないです。
rpg_scenesの298行目のthis._gameTitleSprite.bitmap.outlineWidthを8から20に変えるとタイトル画面の文字枠の大きさが変わるはずです。

ただし、この変更で変わるのはタイトル画面の文字枠だけです。メッセージウィンドウの文字枠などは別に定義されているので別途設定する必要があります。

例えば、メッセージウィンドウのメッセージの文字枠を記述したい場合は、rpg_windows.jsの4250行目(initializeメソッドの一番後ろ)に以下のように記述します。(数字は適当)
this.contents.outlineWidth = 6;

ウィンドウの全ての文字を設定したい場合、あるいはウィンドウに限らずゲーム中の全ての文字を設定したい場合は、また別のところをいじる必要があります。
添付ファイル
2016-01-21.jpg
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
ぶっきい
記事: 6
登録日時: 2016年1月21日(木) 21:07

Re: 文字枠の処理について

投稿記事by ぶっきい » 2016年1月21日(木) 22:40

早速の丁寧なご教示ありがとうございます。
文字枠の太さ変更に成功しました! :D

できればもうひとつお聞きしたいのですが、文字枠の濃さ?色?は
どのあたりで処理されているのでしょうか?
(デフォルトから少し薄くなっているので)

JSはタイトルや、このメッセージの文字枠以外の部分は特にいじっていません。

お手数をお掛けいたしますが、よろしくお願いいたします。
添付ファイル
無題22.png
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: 文字枠の処理について

投稿記事by トリアコンタン » 2016年1月21日(木) 22:50

色(透明度含む)を設定しているのは、outlineColorプロパティです。
この値は薄い色がデフォルト(rgba(0, 0, 0, 0.5))で、タイトル画面が黒いのは下記のように黒を明示的に設定しているからです。

this._gameTitleSprite.bitmap.outlineColor = 'black';

よって枠の太さを設定した箇所と同じ場所で指定しましょう。
this.contents.outlineColor = 'black';

色の指定方法はCSSと同じなので以下のいずれもが有効に機能します。

red
rgba(0, 255, 0, 0.5)
#66CC33
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
ぶっきい
記事: 6
登録日時: 2016年1月21日(木) 21:07

Re: 文字枠の処理について

投稿記事by ぶっきい » 2016年1月21日(木) 23:03

文字枠の濃さも変更できました。

本当にありがとうございました! :D
添付ファイル
無題22.png
ぶっきい
記事: 6
登録日時: 2016年1月21日(木) 21:07

Re: 文字枠の処理について

投稿記事by ぶっきい » 2016年5月08日(日) 01:53

お世話になっております。

前回、文字枠の太さや色の処理について質問した者です。前回の質問後、文章ウィンドウだけでなく、メニュー画面や戦闘画面も黄色味のウィンドウに統一したため、ゲーム全体の文字を太枠黒枠に変更したいのですが、前回ご教示くださったコマンドをどこに挿入すればいいのかわからず、改めて質問させていただきました。

お手数ではありますが、ご教示いただければ幸いです。
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: 文字枠の処理について

投稿記事by トリアコンタン » 2016年5月08日(日) 11:07

すべてのウィンドウに対して適用するなら「Window_Base.prototype.createContents」の処理の後ろに追加するのがよいかと思います。

ただし、YEP_MessageCore.jsを使っているのであれば、「Window_Base.prototype.resetFontSettings」に既に処理が書かれているのでここを直接書き換える必要があります。

また、プラグインとして作成すれば、今後コアスクリプトが公式によってアップデートされた場合にも対応できますし、簡単に着脱できるのでオススメです。

作成例(以下の内容の.jsファイルを作成して「/js/plugins」に配置して、プラグイン管理画面から有効にする)

コード: 全て選択

(function () {
    'use strict';
    var _Window_Base_createContents = Window_Base.prototype.createContents;
    Window_Base.prototype.createContents = function() {
        _Window_Base_createContents.apply(this, arguments);
        this.contents.outlineColor = 'black';
        this.contents.outlineWidth = 6;
    };
})();
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
ぶっきい
記事: 6
登録日時: 2016年1月21日(木) 21:07

Re: 文字枠の処理について

投稿記事by ぶっきい » 2016年5月08日(日) 15:12

ありがとうございます! 適用できました :D
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: 文字枠の処理について

投稿記事by トリアコンタン » 2021年5月10日(月) 20:39

もしかしたら必要な方がいるかもしれないので、MZで同様の要件を実現できるコードを置いておきます。

https://gist.github.com/triacontane/0e9a0e1d809672f3b17efec00dcdc501
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/

“MV:質問” へ戻る