ページ 1 / 1
【解決済み】戦闘開始・終了とイベントの文章の表示の文字サイズの変更(VXACE)
Posted: 2021年2月28日(日) 20:39
by masa13
はじめて使いますがよろしくおねがいします。
戦闘中と普段の会話などの文字サイズをそれぞれ分けたいのですが
(会話シーンの時は文字が大きいDQみたいな感じです)
戦闘開始と勝利後の文字サイズはデフォルトの文字サイズにひっぱられるためそこだけがどうしても変更できません。
スクリプトのbattle_start関連などでフォントサイズの変更を試みてていろいろ試したのですがエラーがでてしまい
思うようにいきません。
こういったことは可能ですか?
バトルに関してはmo-to氏のVX風バトルログ+とA1氏のA1 Scriptsを使用しています。
Re: 戦闘開始・終了とイベントの文章の表示の文字サイズの変更(VXACE)
Posted: 2021年3月01日(月) 01:12
by 名無し蛙
どうもこんにちは
「スライムが出現!」みたいなメッセージ表示部分の事ですかね
Window_Base.reset_font_settingsがネックになっているようですね
軽く考えて思い浮かぶ方法は二つ。継承を使うか拡張を使うか
どっちでも良い気がしますね
case1.継承を使う方法
コード: 全て選択
class Window_BattleMessage < Window_Message
#--------------------------------------------------------------------------
# ● フォント設定のリセット
#--------------------------------------------------------------------------
def reset_font_settings
change_color(normal_color)
contents.font.size = 16 #
contents.font.bold = false
contents.font.italic = false
end
end
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ○ メッセージウィンドウの作成
#--------------------------------------------------------------------------
def create_message_window
@message_window = Window_BattleMessage.new
end
end
case2.拡張を使う方法
コード: 全て選択
module MessageBattleEx
#--------------------------------------------------------------------------
# ● フォント設定のリセット
#--------------------------------------------------------------------------
def reset_font_settings
change_color(normal_color)
contents.font.size = 16 #
contents.font.bold = false
contents.font.italic = false
end
end
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ○ メッセージウィンドウの作成
#--------------------------------------------------------------------------
alias :_old_create_message_window :create_message_window
def create_message_window
_old_create_message_window
@message_window.extend MessageBattleEx
end
end
Re: 戦闘開始・終了とイベントの文章の表示の文字サイズの変更(VXACE)
Posted: 2021年3月01日(月) 02:02
by TOMO
名無し蛙さんの以外だと、これでも可能だと思います
コード: 全て選択
class Window_Message
#--------------------------------------------------------------------------
# ● フォント設定のリセット
#--------------------------------------------------------------------------
alias in_battle_reset_font_settings reset_font_settings
def reset_font_settings
if $game_party && $game_party.in_battle
change_color(normal_color)
contents.font.size = 16
contents.font.bold = false
contents.font.italic = false
else
in_battle_reset_font_settings
end
end
end
あと、名無し蛙さんのcase1はmo-to様ので使えないかも
Re: 戦闘開始・終了とイベントの文章の表示の文字サイズの変更(VXACE)
Posted: 2021年3月01日(月) 06:04
by 名無し蛙
ああ、訂正どうも。完全に競合スクリプトの確認を怠っていましたよ
既にアプローチが被ってるなら継承による上書きはするべきではありませんね
またextendによるアプローチもVX風バトルログ+の下に配置すれば問題ないですが、上だと不都合があります
利用者にある程度のメンテナンススキルが無いと使用は控えた方が良いかもしれません
Re: 戦闘開始・終了とイベントの文章の表示の文字サイズの変更(VXACE)
Posted: 2021年3月01日(月) 12:56
by masa13
名無し蛙さん、TOMOさん、コードはどちらをつかっても再現できました。
すぐに返信がきて助かりました。
これは今回の質問と直接関係はないのですが、バトルログの文字内だけを小さく調整出来ていると思ってたのですが
通常のフォントサイズ変更で小さくしていて会話等に使う部分をwindow_Message内の通常文字の処理の部分で
フォントサイズ変更をしていたことが後でわかりました。
(質問前見直していたのですが、年単位で長く追加していたため見落としてました)
このままでは無理だとわかったので提供してもらったコードを参考に調整していますが悪くない感じです。
今回はありがとうございました。
解決済みとさせていただきます。