#==============================================================================
# 「顔グラを歩行グラに置換」(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