#============================================================================== # ■ XP-RGSS-22 顔グラ+名前表示 [Ver.1.0.1] by Claimh #------------------------------------------------------------------------------ # 会話時に顔グラと名前を別ウィンドウに表示できます。 #============================================================================== module Face_Name FACENAME_SET = [] #============================================================================== # □ カスタマイズSTART #============================================================================== # 顔グラ+名前セットの設定 # FACENAME_SET[登録ID] = [ 名前(""とすれば、名無し), 顔グラのファイル名] FACENAME_SET[0] = ["アルシェス", "aru.png"] #============================================================================== # □ カスタマイズEND #============================================================================== end class Interpreter #-------------------------------------------------------------------------- # ● 顔グラ+名前表示 # id : 顔グラ+名前セットID # type : 表示タイプ(0:左 1:右) #-------------------------------------------------------------------------- def show_face_name(id, type) if type == 0 @l_face_window = Window_Face.new if Face_Name::FACENAME_SET[id][0] != "" @l_face_window.set_face_name(id) @l_name_window = Window_Name.new(id) @l_dummy_window = Window_NameDummy.new end elsif type == 1 @r_face_window = Window_Face.new @r_face_window.x = 480 if Face_Name::FACENAME_SET[id][0] != "" @r_face_window.set_face_name(id) @r_name_window = Window_Name.new(id) @r_dummy_window = Window_NameDummy.new @r_name_window.x = 336 @r_dummy_window.x = 336 end end end #-------------------------------------------------------------------------- # ● 顔グラ+名前消去 #-------------------------------------------------------------------------- def hide_face_name(type) if type == 0 @l_face_window.dispose @l_face_window = nil if @l_name_window != nil @l_name_window.dispose @l_name_window = nil @l_dummy_window.dispose @l_dummy_window = nil end elsif type == 1 @r_face_window.dispose @r_face_window = nil if @r_name_window != nil @r_name_window.dispose @r_dummy_window.dispose @r_name_window = nil @r_dummy_window = nil end end end end class Window_Face < Window_Base include Face_Name #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize super(0, 160, 160, 160) self.contents = Bitmap.new(width - 32, height - 32) self.opacity = 0 end #-------------------------------------------------------------------------- # ● 顔グラ+名前表示 #-------------------------------------------------------------------------- def set_face_name(id) face = FACENAME_SET[id] bitmap = RPG::Cache.picture(face[1]) src_rect = Rect.new(0, 0, self.width, self.height) self.contents.blt(0, 0, bitmap, src_rect) end end class Window_Name < Window_Base include Face_Name #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize(id) name = FACENAME_SET[id] return if name[0] == nil super(144, 256, 160, 64) self.contents = Bitmap.new(width - 32, height - 32) self.opacity = 0 self.contents.draw_text(0, 0, 128, 32, name[0]) end end class Window_NameDummy < Window_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize super(144, 272, 160, 32) end end