스크립트에서 수정을 해주셔야합니다.캐릭터의 키, 몸무게, 나이등을 스크립트에 적어주세요.
아래에 있는 커스터마이즈에서 하실수있습니다.
그리고 캐릭터 그래픽을 반드시 넣어주셔야합니다.
Graphic/face 폴더안에 그래픽을 넣어주세요
그래픽의 이름도 스크립트에서 제대로 수정하셔야합니다.
====================================================== # ■ VX-RGSS2-1 캐릭터소개화면 [Ver.1.0.0] by Claimh #------------------------------------------------------------------------------ # ·스테이터스 화면시에 어떠한 버튼을 누르는 것으로,
# 각 캐릭터의 상세 설명 화면을 표시할 수 있습니다.
# ·버튼은 HELP의 Input를 보고, 확인해 주세요.
# ·표준에서는, 캐릭터의 연령, 출신지, 신장, 체중,
# 그 외의 문장 설명을 대응하고 있습니다.
# ·이외에 추가하고 싶은 경우는, 개조해 주세요. #============================================================================== module Chara_Review #---------------------------------------------------------------------------- # 설정START #---------------------------------------------------------------------------- # 캐릭터 소개로 전환하는 버튼(디폴트:C) CHENGE_KEY = Input::C #-------------------------------------------------------------------------- # ● 연령(액터 ID의 순서에 넣어 가 주세요)
#-------------------------------------------------------------------------- CHARA_AGE = { # アクターID => "나이" 1 => "??", 2 => "??", 3 => "??", 4 => "??", 5 => "??", 6 => "??", 7 => "??", 8 => "??" } #-------------------------------------------------------------------------- # ● 출신지(사는곳) #-------------------------------------------------------------------------- CHARA_FROM = { # アクターID => "출신지" 1 => "??", 2 => "??", 3 => "??", 4 => "??", 5 => "??", 6 => "??", 7 => "??", 8 => "??" } #-------------------------------------------------------------------------- # ●신장(키) #-------------------------------------------------------------------------- CHARA_H = { # アクターID => "신장" 1 => "??", 2 => "??", 3 => "??", 4 => "??", 5 => "??", 6 => "??", 7 => "??", 8 => "??" } #-------------------------------------------------------------------------- # ● 체중(몸무게) #-------------------------------------------------------------------------- CHARA_W = { # アクターID => "체중" 1 => "??", 2 => "??", 3 => "??", 4 => "??", 5 => "??", 6 => "??", 7 => "??", 8 => "??" } #-------------------------------------------------------------------------- # ● 그 외 문장(n를 넣으면 개행합니다)
#-------------------------------------------------------------------------- CHARA_INFO = { # アクターID:1 1 => "???", # アクターID:2 2 => "???", # アクターID:3 3 => "???", # アクターID:4 4 => "???", # アクターID:5 5 => "???", # アクターID:6 6 => "???", # アクターID:7 7 => "???", # アクターID:8 8 => "???" } #-------------------------------------------------------------------------- # ● 버스트 업 화상 (소개화면에 표시할 캐릭터 그래픽) #-------------------------------------------------------------------------- # 얼굴 그래픽이 아니고, 버스트 업 화상을 사용한다
BSTUP = true # 버스트 업 화상의 파일명(Graphics/Face) BSTUP_FILE = { # 액터ID:1 1 => "Actor1-1", # 액터ID:2 2 => "Actor2-2", # 액터ID:3 3 => "Actor3-3", # 액터ID:4 4 => "Actor4-4" } #---------------------------------------------------------------------------- # カスタマイズEND #---------------------------------------------------------------------------- end #============================================================================== # ■ Window_Charactor #------------------------------------------------------------------------------ # キャラ紹介画面 #============================================================================== class Window_Charactor < Window_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 # actor : アクター #-------------------------------------------------------------------------- def initialize(actor) super(0, 0, 544, 416) self.contents = Bitmap.new(width - 32, height - 32) refresh(actor) end #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh(actor) self.contents.clear return if actor.nil? if Chara_Review::BSTUP refresh_bstup(actor) # バストアップの描画 else refresh_face(actor) # 顔グラフィックの描画 end end #-------------------------------------------------------------------------- # ● リフレッシュ(BSTUP) #-------------------------------------------------------------------------- def refresh_bstup(actor) draw_face_picture(Chara_Review::BSTUP_FILE[actor.id], 0, 0) self.contents.font.color = system_color self.contents.draw_text(280, 30, 80, WLH, "Name:") self.contents.draw_text(280, 60, 80, WLH, "Age:") self.contents.draw_text(280, 90, 80, WLH, "From:") self.contents.draw_text(280, 120, 80, WLH, "Height:") self.contents.draw_text(280, 150, 80, WLH, "Weight:") self.contents.font.color = normal_color draw_actor_name(actor, 380, 30) self.contents.draw_text(380, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id]) self.contents.draw_text(380, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id]) self.contents.draw_text(380, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id]) self.contents.draw_text(380, 150, 250, WLH, Chara_Review::CHARA_W[actor.id]) draw_enter_text(20, 300, 500, WLH, Chara_Review::CHARA_INFO[actor.id]) end #-------------------------------------------------------------------------- # ● リフレッシュ(FACE) #-------------------------------------------------------------------------- def refresh_face(actor) draw_actor_face(actor, 8, 32) self.contents.font.color = system_color self.contents.draw_text(200, 30, 80, WLH, "Name:") self.contents.draw_text(200, 60, 80, WLH, "Age:") self.contents.draw_text(200, 90, 80, WLH, "From:") self.contents.draw_text(200, 120, 80, WLH, "Height:") self.contents.draw_text(200, 150, 80, WLH, "Weight:") self.contents.font.color = normal_color draw_actor_name(actor, 300, 30) self.contents.draw_text(300, 60, 80, WLH, Chara_Review::CHARA_AGE[actor.id]) self.contents.draw_text(300, 90, 180, WLH, Chara_Review::CHARA_FROM[actor.id]) self.contents.draw_text(300, 120 , 200, WLH, Chara_Review::CHARA_H[actor.id]) self.contents.draw_text(300, 150, 250, WLH, Chara_Review::CHARA_W[actor.id]) draw_enter_text(20, 200, 500, WLH, Chara_Review::CHARA_INFO[actor.id]) end end class Window_Base < Window #-------------------------------------------------------------------------- # ● 改行を認識して表示 #-------------------------------------------------------------------------- def draw_enter_text(x, y, width, height, text) info_box = text.split(/n/) for i in 0...info_box.size self.contents.draw_text( x, y+i*WLH, width, WLH, info_box[i]) break if (y+i*WLH) > (self.height-WLH) end end #-------------------------------------------------------------------------- # ● ピクチャ表示(Graphics/Face) #-------------------------------------------------------------------------- def draw_face_picture(file_name, x, y) bitmap = Cache.face(file_name) cw = bitmap.width ch = bitmap.height src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x, y, bitmap, src_rect) end end #============================================================================== # ■ Scene_Charactor #------------------------------------------------------------------------------ # キャラ紹介画面の処理を行うクラスです。 #============================================================================== class Scene_Charactor < Scene_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化 # actor_index : アクターインデックス #-------------------------------------------------------------------------- def initialize(actor_index = 0) @actor_index = actor_index end #-------------------------------------------------------------------------- # ● 開始処理 #-------------------------------------------------------------------------- def start super create_menu_background @actor = $game_party.members[@actor_index] @status_window = Window_Charactor.new(@actor) end #-------------------------------------------------------------------------- # ● 終了処理 #-------------------------------------------------------------------------- def terminate super dispose_menu_background @status_window.dispose end #-------------------------------------------------------------------------- # ● 元の画面へ戻る #-------------------------------------------------------------------------- def return_scene $scene = Scene_Status.new(@actor_index) end #-------------------------------------------------------------------------- # ● 次のアクターの画面に切り替え #-------------------------------------------------------------------------- def next_actor @actor_index += 1 @actor_index %= $game_party.members.size $scene = Scene_Charactor.new(@actor_index) end #-------------------------------------------------------------------------- # ● 前のアクターの画面に切り替え #-------------------------------------------------------------------------- def prev_actor @actor_index += $game_party.members.size - 1 @actor_index %= $game_party.members.size $scene = Scene_Charactor.new(@actor_index) end #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- def update update_menu_background @status_window.update if Input.trigger?(Input::B) Sound.play_cancel return_scene elsif Input.trigger?(Input::R) Sound.play_cursor next_actor elsif Input.trigger?(Input::L) Sound.play_cursor prev_actor end super end end #============================================================================== # ■ Scene_Status #============================================================================== class Scene_Status #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias update_chara update def update if Input.trigger?(Chara_Review::CHENGE_KEY) Sound.play_decision $scene = Scene_Charactor.new(@actor_index) end update_chara end end