#============================================================================== # 「顔グラを歩行グラに置換」(ACE) ver.1.1 # 製作者:奈々(なな) # へぷたなすくろーる http://heptanas.mamagoto.com/ # # ◇使用規約 # 使用される場合はスクリプト作成者として「奈々」を明記して下さい。 # このスクリプトを改変したり、改変したものを配布するなどは自由ですが # その場合も元のスクリプトの作成者として名前は載せて下さい。 # その他、詳しい利用規約はブログを参照して下さい。 # #------------------------------------------------------------------------------ # # アクターの顔グラフィック表示を # アクターの歩行グラフィックに置き換えます。 # # 初期設定で画面ごとに設定が出来るので # true(適用する)とfalse(適用しない)を切り替えて下さい。 # # また全てのウィンドウに適用するを選ぶと # スクリプト素材で追加した画面にも適用されるようになります。 # #============================================================================== #◇初期設定 module Nana_FGtoCG X_MOD = 48 #横方向の位置調整 Y_MOD = 80 #縦方向の位置調整 ALL = false #全てのウィンドウに適用(true / false) MENU = true #メニュー画面に適用(true / false) SKILL = true #スキル画面に適用(true / false) STATUS = true #ステータス画面に適用(true / false) NAME = true #名前入力画面に適用(true / false) DIRECTION = 2 #歩行グラフィックの向き(下2:左4:右6:上8) end #============================================================================== # ■ Window_Base #------------------------------------------------------------------------------ # ゲーム中の全てのウィンドウのスーパークラスです。 #============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # ● 歩行グラフィックの描画 # enabled : 有効フラグ。false のとき半透明で描画 #-------------------------------------------------------------------------- def draw_character(character_name, character_index, x, y, enabled = true) return unless character_name bitmap = Cache.character(character_name) sign = character_name[/^[\!\$]./] if sign && sign.include?('$') cw = bitmap.width / 3 ch = bitmap.height / 4 else cw = bitmap.width / 12 ch = bitmap.height / 8 end n = character_index drc = Nana_FGtoCG::DIRECTION / 2 - 1 src_rect = Rect.new((n%4*3+1)*cw, (n/4*4+drc)*ch, cw, ch) contents.blt(x - cw / 2, y - ch, bitmap, src_rect, enabled ? 255 : translucent_alpha) end if Nana_FGtoCG::ALL == true #-------------------------------------------------------------------------- # ● アクターの顔グラフィック描画 #-------------------------------------------------------------------------- def draw_actor_face(actor, x, y, enabled = true) x += Nana_FGtoCG::X_MOD y += Nana_FGtoCG::Y_MOD draw_character(actor.character_name, actor.character_index, x, y, enabled) end end end #============================================================================== # 個別のウィンドウ処理: # baseを変更⇔個別に戻す / baseを無変更⇔個別に変更 # 競合対策のため、なるべく上書きを減らす処理 #============================================================================== class Window_MenuStatus < Window_Selectable if Nana_FGtoCG::MENU != Nana_FGtoCG::ALL #-------------------------------------------------------------------------- # ● アクターの顔グラフィック描画 #-------------------------------------------------------------------------- def draw_actor_face(actor, x, y, enabled = true) if Nana_FGtoCG::MENU == true x += Nana_FGtoCG::X_MOD y += Nana_FGtoCG::Y_MOD draw_character(actor.character_name, actor.character_index, x, y, enabled) else draw_face(actor.face_name, actor.face_index, x, y, enabled) end end end end class Window_SkillStatus < Window_Base if Nana_FGtoCG::SKILL != Nana_FGtoCG::ALL #-------------------------------------------------------------------------- # ● アクターの顔グラフィック描画 #-------------------------------------------------------------------------- def draw_actor_face(actor, x, y, enabled = true) if Nana_FGtoCG::SKILL == true x += Nana_FGtoCG::X_MOD y += Nana_FGtoCG::Y_MOD draw_character(actor.character_name, actor.character_index, x, y, enabled) else draw_face(actor.face_name, actor.face_index, x, y, enabled) end end end end class Window_Status < Window_Selectable if Nana_FGtoCG::STATUS != Nana_FGtoCG::ALL #-------------------------------------------------------------------------- # ● アクターの顔グラフィック描画 #-------------------------------------------------------------------------- def draw_actor_face(actor, x, y, enabled = true) if Nana_FGtoCG::STATUS == true x += Nana_FGtoCG::X_MOD y += Nana_FGtoCG::Y_MOD draw_character(actor.character_name, actor.character_index, x, y, enabled) else draw_face(actor.face_name, actor.face_index, x, y, enabled) end end end end class Window_NameEdit < Window_Base if Nana_FGtoCG::NAME != Nana_FGtoCG::ALL #-------------------------------------------------------------------------- # ● アクターの顔グラフィック描画 #-------------------------------------------------------------------------- def draw_actor_face(actor, x, y, enabled = true) if Nana_FGtoCG::NAME == true x += Nana_FGtoCG::X_MOD y += Nana_FGtoCG::Y_MOD draw_character(actor.character_name, actor.character_index, x, y, enabled) else draw_face(actor.face_name, actor.face_index, x, y, enabled) end end end end