VXaceでスイッチ(変数)操作でフォント変更!

みるく
記事: 25
登録日時: 2017年7月15日(土) 01:05

VXaceでスイッチ(変数)操作でフォント変更!

投稿記事by みるく » 2018年11月19日(月) 20:36

おこんばんわ!!! (*‘ω‘ *)

さいきんはMVばかりでVXace戦士 :!: が減ってきてしまったのかもしれませんが、めげずに投稿させていただきます!
((+_+))ゴメンナチャイ

〖スクリプトエディタ〗の〘▼メイン〙の下に、『Font』と作って

Font.default_name = ["メイリオ"]

のように書けば、ゲーム中のフォントを変更できると思います(・ω・)!

これを、ゲーム中に、スイッチ(もしくは変数)が操作されたタイミングで、別のフォントにパッっと切り替わるようにしたいんです。
文章中ないでフォントを変えるスクリプトなら探してあったのですが、そう複雑なものではなくて、
スイッチがON (もしくは変数で1番目のフォント、2番目のフォント) なった時に、
会話の文章や戦闘のログなど、ゲーム中のフォントをガラッッッ! っといっぺんに変更したいのです(≧◇≦)
(もちろんスイッチをOFFにしたり、変数に0を代入させたらデフォ設定のフォントに戻る感じです)

なるべくシンプルめな記述で、規約とか競合とかゆるめだと嬉しいですが、、、、
未だかつて、コレに成功したスクリプター様がいらっしゃらないので、ワタシが考えてる以上にとっても難しいのかもしれません(。-`ω-)ワタシハザコデスガ……
自分でやってもぜんぜんできなかったので、どなたかわかるかた、いらっしゃいませんか???
ヨロシクオネガイシマス!!!

ショウ
記事: 149
登録日時: 2016年8月10日(水) 19:52

Re: VXaceでスイッチ(変数)操作でフォント変更!

投稿記事by ショウ » 2018年11月20日(火) 04:45

RPGツクールVXAce & MVスクリプトwikiとプラグインっていうサイトに
ゲーム途中字体変更スクリプトってのがあるよ。
スイッチじゃなくてスクリプトコマンドでの変更になるけど多分これで希望の動作になると思う。
みるく
記事: 25
登録日時: 2017年7月15日(土) 01:05

Re: VXaceでスイッチ(変数)操作でフォント変更!

投稿記事by みるく » 2018年11月21日(水) 00:07

ショウ様お返事ありがとうございます!

村人A様の[ゲーム途中字体変更スクリプト]のことですね!?
実はそちらのスクリプトが、最初に書いた「文章内のフォントを変えられるスクリプト」のことで・・・

そちらも良いスクリプトだと思いますが、システムの文字とかは元のままなんです!

やっぱり、全部一括にぱぱぱぱぱーっと変えるってなるとめちゃめちゃ難しいんでしょうか(´;ω;`)
希望はないんでしょうか(ノД`)・゜・。エーーーン
ぽんぽこねるそん
記事: 53
登録日時: 2018年10月26日(金) 12:24

Re: VXaceでスイッチ(変数)操作でフォント変更!

投稿記事by ぽんぽこねるそん » 2018年11月21日(水) 00:57

こんばんは。

スイッチの操作でデフォルトのフォントを変更して
ウィンドウのフォントもスクリプトを作ってみたので
非常に中途半端ですがよろしければご利用ください。
ツクールデフォルトのものは大体変わると思いますが(あまりテストしてません)
スクリプト等で追加されたものはわかりませんのでそこのところはご了承ください。

追記
ロードする時にスイッチの状態に合わせてフォントを変更することを忘れていたので修正しました


コード: 全て選択

module PON_FONT
  #--------------------------------------------------------------------------
  # ● フォント設定スイッチ番号
  #--------------------------------------------------------------------------
  FONT_S = 10
  #--------------------------------------------------------------------------
  # ● スイッチがオンの時のフォント名
  #--------------------------------------------------------------------------
  ON_FONT  = "メイリオ"
  #--------------------------------------------------------------------------
  # ● スイッチがオフの時のフォント名(デフォルトのフォント名)
  #--------------------------------------------------------------------------
  OFF_FONT = Font.default_name
 
 
 
#----------------------------------------------------------------------------
# ★ 設定ここまで
#----------------------------------------------------------------------------
 
  Font.default_name = OFF_FONT
 
  #--------------------------------------------------------------------------
  # ● 現在のフォント名の取得
  #--------------------------------------------------------------------------
  def self.font_default_name
    $game_switches[FONT_S] ? ON_FONT : OFF_FONT
  end
end
#==============================================================================
# ■ DataManager
#------------------------------------------------------------------------------
#  データベースとゲームオブジェクトを管理するモジュールです。ゲームで使用する
# ほぼ全てのグローバル変数はこのモジュールで初期化されます。
#==============================================================================
class << DataManager
  #--------------------------------------------------------------------------
  # ● ロードの実行
  #--------------------------------------------------------------------------
  alias sw_font_change_load_game load_game
  def load_game(index)
    if sw_font_change_load_game(index)
      Font.default_name = PON_FONT.font_default_name
      true
    else
      false
    end
  end
end
#==============================================================================
# ■ Game_Switches
#------------------------------------------------------------------------------
#  スイッチを扱うクラスです。組み込みクラス Array のラッパーです。このクラス
# のインスタンスは $game_switches で参照されます。
#==============================================================================

class Game_Switches
  #--------------------------------------------------------------------------
  # ● スイッチの設定
  #     value : ON (true) / OFF (false)
  #--------------------------------------------------------------------------
  alias sw_font_change []=
  def []=(switch_id, value)
    sw_font_change(switch_id, value)
    Font.default_name = PON_FONT.font_default_name if switch_id == PON_FONT::FONT_S
  end
end
#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
#  ゲーム中の全てのウィンドウのスーパークラスです。
#==============================================================================

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias sw_font_change_initialize initialize
  def initialize(x, y, width, height)
    sw_font_change_initialize(x, y, width, height)
    @font_switch = $game_switches[PON_FONT::FONT_S]
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias sw_font_change_update update
  def update
    update_font
    sw_font_change_update
  end
  #--------------------------------------------------------------------------
  # ● フレームフォント更新
  #--------------------------------------------------------------------------
  def update_font
    @font_change_flag = false
    if @font_switch != $game_switches[PON_FONT::FONT_S]
      contents.font.name = Font.default_name
      @font_switch = $game_switches[PON_FONT::FONT_S]
      @font_change_flag = true
    end
  end
end
#==============================================================================
# ■ Window_Selectable
#------------------------------------------------------------------------------
#  カーソルの移動やスクロールの機能を持つウィンドウクラスです。
#==============================================================================

class Window_Selectable < Window_Base
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias sele_sw_font_change_update update
  def update
    sele_sw_font_change_update
    refresh if @font_change_flag
  end
end
みるく
記事: 25
登録日時: 2017年7月15日(土) 01:05

[解決済]Re: VXaceでスイッチ(変数)操作でフォント変更!

投稿記事by みるく » 2018年11月23日(金) 17:38

わーーーー :D :D :D

ぽんぽこねるそん様! ありがとうございます!
今日祝日でやっと確認デキマシタ!!
遅れてごめんなさい(+o+)シャチクー

このスクリプでしっかりと! フォントを変更することができたみたいです!
ヾ(@⌒ー⌒@)ノ
ふぉんとにありがとうございました!!!!1

“VX / Ace:質問” へ戻る