# ▽△▽ XRXSv33. MeLT/BaST-Result.RM2. 2行メンバーライン ▽△▽ # # publish 2010/ 4/27 # update - /27b # #============================================================================== # カスタマイズポイント #============================================================================== module XRXSV33 # # スキン(Graphics/System) # EXPMeterSkin = "Menu_ExpMeter" # # 文字列 # NEXT_S = "NEXT" GEXP_S = "獲得EXP" end #============================================================================== # リザルトメンバーウィンドウ #============================================================================== class Window_ResultMembers < Window_Selectable include XRXS_WindowSliding rescue nil include XRXSV_ContentsSplitter rescue nil def split_height return 48 end def target_position(index) return 200, index * 48 + self.y + 40 end def initialize @meter_skin = Cache.system(XRXSV33::EXPMeterSkin) super(160, 72, 384, 288) @clear_style = ((XRXSV10::BG_NAME rescue "").size >= 1) @item_max = $game_party.members.size @exp_bars = [] @exp_numbers = [] @exp_gain_numbers = [] @level_numbers = [] refresh create_sprites update end def contents_opacity=(n) super @exp_bars.each{|sprite| sprite.opacity = n } @exp_numbers.each{|sprite| sprite.opacity = n } @exp_gain_numbers.each{|sprite| sprite.opacity = n } @level_numbers.each{|sprite| sprite.opacity = n } end def clear_sprites @exp_bars.each{|sprite| sprite.dispose } @exp_bars.clear @exp_numbers.each{|sprite| sprite.dispose } @exp_numbers.clear @exp_gain_numbers.each{|sprite| sprite.dispose } @exp_gain_numbers.clear @level_numbers.each{|sprite| sprite.dispose } @level_numbers.clear end def refresh self.contents.clear for i in 0...@item_max draw_item(i) end if @clear_style self.contents_split! rescue nil end end def create_sprites clear_sprites skin = Cache.system(XRXSV33::NumberS) skin_l = Cache.system(XRXSV33::NumberL) for i in 0...@item_max nx = self.x + 352 ny = self.y + 16 + i * 48 @exp_bars[i] = Sprite_EXPBar.new @exp_bars[i].x = nx - 120 @exp_bars[i].y = ny + 38 @exp_bars[i].z = 1000 @exp_gain_numbers[i] = RapidNumber.new(nx, ny + 20, skin) @exp_gain_numbers[i].z = 102 @exp_numbers[i] = RapidNumber.new(nx, ny + 38, skin) @exp_numbers[i].z = 102 @level_numbers[i] = RapidNumber.new(nx - 160, ny + 44, skin_l) @level_numbers[i].z = 102 end end def draw_item(index) actor = $game_party.members[index] y = index * 48 face_rect = Rect.new(0, 14, 94, 46) self.contents.blt(1, y+1, actor.face, face_rect) rescue nil self.contents.font.size = 20 draw_actor_name(actor, 104, y) self.contents.font.size = 16 self.contents.font.color = system_color self.contents.draw_text(120, y+24, 32, WLH, Vocab::level_a) self.contents.draw_text(216, y + 6, 64, 16, XRXSV33::GEXP_S) self.contents.draw_text(216, y + 24, 64, 16, XRXSV33::NEXT_S) meter_rect = Rect.new(0, 0, 128, 4) self.contents.blt(216, y + 38, @meter_skin, meter_rect) end def update super for i in 0...@item_max actor = $game_party.members[i] @exp_bars[i].set_width(actor.exp_per128) @exp_numbers[i].set(actor.next_rest_exp) @exp_gain_numbers[i].set(actor.battle_result_exp.to_i) @level_numbers[i].set(actor.level) end end def dispose clear_sprites super end end