こんにちは。
変数に代入された値を右詰めで表示させたいのですが可能でしょうか?
D_TEXT_SETTING ALIGN 2 で表示できるかと思ったのですが画像のように左揃えになってしまいます。使い方を間違っているようでしたらご指摘していただければと思っています。
【解決済み】動的文字列ピクチャ生成で変数に代入された値を右詰めにしたい
Re: 動的文字列ピクチャ生成で変数に代入された値を右詰めにしたい
にいやん様
こちら前回私もわからなかったので応急処置で対処したことがあるのでお伝えしておきます。
以下のスクリプトの修正で/V[変数ID,桁数]で右詰めできました。
やってることは0詰めしてるものをスペースに置き換えているだけです。戻したい場合は
//return this.getVariablePadZero($gameVariables.value(parseInt(arguments[1], 10)), arguments[2]);
のコメントを外して
return $gameVariables.value(parseInt(arguments[1], 10)).padSpace(arguments[2]);
をコメント化してください。
正式な回答はトリアコンタン様の対応をお待ち下さい。
にいやん さんが書きました:こんにちは。
変数に代入された値を右詰めで表示させたいのですが可能でしょうか?
D_TEXT_SETTING ALIGN 2 で表示できるかと思ったのですが画像のように左揃えになってしまいます。使い方を間違っているようでしたらご指摘していただければと思っています。
こちら前回私もわからなかったので応急処置で対処したことがあるのでお伝えしておきます。
以下のスクリプトの修正で/V[変数ID,桁数]で右詰めできました。
やってることは0詰めしてるものをスペースに置き換えているだけです。戻したい場合は
//return this.getVariablePadZero($gameVariables.value(parseInt(arguments[1], 10)), arguments[2]);
のコメントを外して
return $gameVariables.value(parseInt(arguments[1], 10)).padSpace(arguments[2]);
をコメント化してください。
正式な回答はトリアコンタン様の対応をお待ち下さい。
コード: 全て選択
//=============================================================================
// Window_Base
// 文字列変換処理に追加制御文字を設定します。
//=============================================================================
var _Window_Base_convertEscapeCharacters = Window_Base.prototype.convertEscapeCharacters;
Window_Base.prototype.convertEscapeCharacters = function(text) {
text = _Window_Base_convertEscapeCharacters.call(this, text);
text = text.replace(/\x1bV\[(\d+)\,\s*(\d+)\]/gi, function() {
//return this.getVariablePadZero($gameVariables.value(parseInt(arguments[1], 10)), arguments[2]);
//追加
return $gameVariables.value(parseInt(arguments[1], 10)).padSpace(arguments[2]);
}.bind(this));
<中略>
return text;
};
//追加
String.prototype.padSpace = function(length){
var s = this;
while (s.length < length) {
s = ' ' + s;
}
return s;
};
//追加
Number.prototype.padSpace = function(length){
return String(this).padSpace(length);
};
Re: 動的文字列ピクチャ生成で変数に代入された値を右詰めにしたい
にゃたまさん、返信ありがとうございます。
にゃたまさんのやり方で解決することが出来ました。
元々、D_TEXT_SETTING ALIGN 0 は \V[n,m] とセットで使うという認識なんでしょうか。良く分からないですが解決できて良かったです、ありがとうございました。
にゃたまさんのやり方で解決することが出来ました。
元々、D_TEXT_SETTING ALIGN 0 は \V[n,m] とセットで使うという認識なんでしょうか。良く分からないですが解決できて良かったです、ありがとうございました。
Re: 動的文字列ピクチャ生成で変数に代入された値を右詰めにしたい
こんばんは。
動的生成文字列生成プラグインでは、文字を描画できる最低限の横幅と高さしか確保しません。
以下のコマンドは、複数行表示したときに行同士の揃えを設定するものです。
上が左揃え(デフォルト)で、下が右揃えです。
もしプラグインに変更を加えずに右揃えにしたい場合、ピクチャの原点を右上にする(スクリプトによる設定が必要)か上記の設定を利用して二行目に揃えたいだけの全角スペースを指定します。
参考までに。
動的生成文字列生成プラグインでは、文字を描画できる最低限の横幅と高さしか確保しません。
以下のコマンドは、複数行表示したときに行同士の揃えを設定するものです。
コード: 全て選択
D_TEXT_SETTING ALIGN 2
上が左揃え(デフォルト)で、下が右揃えです。
もしプラグインに変更を加えずに右揃えにしたい場合、ピクチャの原点を右上にする(スクリプトによる設定が必要)か上記の設定を利用して二行目に揃えたいだけの全角スペースを指定します。
参考までに。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30
[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30
[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
Re: 動的文字列ピクチャ生成で変数に代入された値を右詰めにしたい
トリアコンタンさん、いつもお世話になっています。
複数行表示のときに揃える機能だったのですね。了解致しました。
複数行表示のときに揃える機能だったのですね。了解致しました。