こんにちは
ただいま作成しているRPGにオリジナルティを出すべく、バトル中に表示されるステータスのHP・MP・TPゲージや、名前・ステータスのフォントの高さ(文字の大きさではなく位置)を設定したくてrpg_windows.js v1.6.1内を初心者ながら試行錯誤しています。最終的に添付ファイルのようなステータスの位置にしたいのですが、どのようにすればゲージや文字の高さが設定できますでしょうか?どなたか回答をよろしくお願いします。
Type Error functionについて
Re: Type Error functionについて
ろっぷ様
こんにちは。
おそらくrpg_windows.js v1.6.1内のスクリプトのどこかを修正したのかと思われますが、
どこをどのように修正したのかを書かないと回答するほうとしてはまったくわかりかねると思います。
あとゲーム画面のエラーのキャプチャはほとんどと言っていいほど役に立たないので
F8を押したときに表示されるデバッグ画面を提示したほうがわかりやすく回答が得られやすいかと思います。
参考までに。
こんにちは。
おそらくrpg_windows.js v1.6.1内のスクリプトのどこかを修正したのかと思われますが、
どこをどのように修正したのかを書かないと回答するほうとしてはまったくわかりかねると思います。
あとゲーム画面のエラーのキャプチャはほとんどと言っていいほど役に立たないので
F8を押したときに表示されるデバッグ画面を提示したほうがわかりやすく回答が得られやすいかと思います。
参考までに。
Re: Type Error functionについて
にゃたま様返信ありがとうございます。
添付ファイルが確かに不足していました。追加させていただきます。
ご指摘ありがとうございました。
添付ファイルが確かに不足していました。追加させていただきます。
ご指摘ありがとうございました。
Re: Type Error functionについて
元々添付していただいたコードの意図が良くわかりませんでしたが…
(文字の高さを変更しようとしている、にしては全く数字類がどこにも描かれていなかったので)
要望が「文字のフォントの高さを変えようとしている」と仮定して回答させていただきます。
フォントという物は高さだけ変えられるものではありません。
フォントサイズを変動する場合、縦横同時に(同じ倍率)増減します。
それを踏まえると
ここの28を変更する
(ただしこれは文章の表示を含む全てのウィンドウ類に影響を与えます)
或いは
と言う形になるかと思います
(こちらは最大値最小値があるものを描く時のみ影響が出る)
元コードがエラーを出した原因としては純粋にWindow_Base.prototype.textHeightが存在しないからです。
(同ファイル内で検索すればわかりますが、Window_Base.prototype.textWidthは存在します)
また、Window_Base.prototype.textWidthは、横幅を「設定」するものではなく、特定の文字列の横幅を「測る」functionとなります。
これを使って設定しようとするのは、例えるならば温度計にエアコンの機能を期待するような物となります…
(文字の高さを変更しようとしている、にしては全く数字類がどこにも描かれていなかったので)
要望が「文字のフォントの高さを変えようとしている」と仮定して回答させていただきます。
フォントという物は高さだけ変えられるものではありません。
フォントサイズを変動する場合、縦横同時に(同じ倍率)増減します。
それを踏まえると
コード: 全て選択
Window_Base.prototype.standardFontSize = function() {
return 28;
};
(ただしこれは文章の表示を含む全てのウィンドウ類に影響を与えます)
或いは
コード: 全て選択
Window_Base.prototype.drawCurrentAndMax = function(current, max, x, y,
width, color1, color2) {
var labelWidth = this.textWidth('HP');
var valueWidth = this.textWidth('0000');
var slashWidth = this.textWidth('/');
var x1 = x + width - valueWidth;
var x2 = x1 - slashWidth;
var x3 = x2 - valueWidth;
this.contents.fontSize = 20; //←ここに追加し、数値を変更
if (x3 >= x + labelWidth) {
this.changeTextColor(color1);
this.drawText(current, x3, y, valueWidth, 'right');
this.changeTextColor(color2);
this.drawText('/', x2, y, slashWidth, 'right');
this.drawText(max, x1, y, valueWidth, 'right');
} else {
this.changeTextColor(color1);
this.drawText(current, x1, y, valueWidth, 'right');
}
this.resetFontSettings(); //←ほかに影響が出ないようここに追加
};
(こちらは最大値最小値があるものを描く時のみ影響が出る)
元コードがエラーを出した原因としては純粋にWindow_Base.prototype.textHeightが存在しないからです。
(同ファイル内で検索すればわかりますが、Window_Base.prototype.textWidthは存在します)
また、Window_Base.prototype.textWidthは、横幅を「設定」するものではなく、特定の文字列の横幅を「測る」functionとなります。
これを使って設定しようとするのは、例えるならば温度計にエアコンの機能を期待するような物となります…
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
Re: Type Error functionについて
回答ありがとうございます。質問内容がわかりにくくて申し訳ありません。剣崎 宗二 さんが書きました:元々添付していただいたコードの意図が良くわかりませんでしたが…
(文字の高さを変更しようとしている、にしては全く数字類がどこにも描かれていなかったので)
要望が「文字のフォントの高さを変えようとしている」と仮定して回答させていただきます。
フォントという物は高さだけ変えられるものではありません。
フォントサイズを変動する場合、縦横同時に(同じ倍率)増減します。
それを踏まえるとここの28を変更するコード: 全て選択
Window_Base.prototype.standardFontSize = function() { return 28; };
(ただしこれは文章の表示を含む全てのウィンドウ類に影響を与えます)
或いは
と言う形になるかと思いますコード: 全て選択
Window_Base.prototype.drawCurrentAndMax = function(current, max, x, y, width, color1, color2) { var labelWidth = this.textWidth('HP'); var valueWidth = this.textWidth('0000'); var slashWidth = this.textWidth('/'); var x1 = x + width - valueWidth; var x2 = x1 - slashWidth; var x3 = x2 - valueWidth; this.contents.fontSize = 20; //←ここに追加し、数値を変更 if (x3 >= x + labelWidth) { this.changeTextColor(color1); this.drawText(current, x3, y, valueWidth, 'right'); this.changeTextColor(color2); this.drawText('/', x2, y, slashWidth, 'right'); this.drawText(max, x1, y, valueWidth, 'right'); } else { this.changeTextColor(color1); this.drawText(current, x1, y, valueWidth, 'right'); } this.resetFontSettings(); //←ほかに影響が出ないようここに追加 };
(こちらは最大値最小値があるものを描く時のみ影響が出る)
元コードがエラーを出した原因としては純粋にWindow_Base.prototype.textHeightが存在しないからです。
(同ファイル内で検索すればわかりますが、Window_Base.prototype.textWidthは存在します)
また、Window_Base.prototype.textWidthは、横幅を「設定」するものではなく、特定の文字列の横幅を「測る」functionとなります。
これを使って設定しようとするのは、例えるならば温度計にエアコンの機能を期待するような物となります…
文字のフォントの高さ(大きさ)を変えようとしているのではなく、位置としての高さを変えようと考えていました。最終的には横位置と縦位置を操作して添付画像の通りにしたいと思っております。
よく確認せずに質問を投稿してしまい誤解を招いてしまって申し訳ありません。
再度質問を訂正させていただきます。
Re: Type Error functionについて
であれば、こちらでフトコロさんが提供しているプラグインを使用するか、その内容を確認しやり方を理解するのが良いのではないでしょうか。
viewtopic.php?t=3555
viewtopic.php?t=3555
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
Re: Type Error functionについて
剣崎 宗二様剣崎 宗二 さんが書きました:であれば、こちらでフトコロさんが提供しているプラグインを使用するか、その内容を確認しやり方を理解するのが良いのではないでしょうか。
viewtopic.php?t=3555
返信ありがとうございます。時間が空いてしまい申し訳ありません。
フトコロ様が提供しているプラグインを使用してみようと思います。
回答ありがとうございました。