| 赞 | 0  | 
 
| VIP | 5 | 
 
| 好人卡 | 0 | 
 
| 积分 | 1 | 
 
| 经验 | 750 | 
 
| 最后登录 | 2012-8-14 | 
 
| 在线时间 | 41 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 50 
 
        - 在线时间
 - 41 小时
 
        - 注册时间
 - 2010-7-15
 
        - 帖子
 - 35
 
 
 
 | 
	
http://rpg.blue/forum.php?mod=viewthread&tid=189311&highlight=%B2%CB%B5%A5 
![]()  
 
菜单代码 
- module Cache
 
 -   def self.menu(filename)
 
 -     load_bitmap("Graphics/Menus/", filename)
 
 -   end
 
 - end
 
 - class Window_Base < Window  
 
 -   def draw_actor_level_menu(actor, x, y)
 
 -     self.contents.font.color = system_color
 
 -     self.contents.draw_text(x, y, 32, WLH, Vocab::level_a)
 
 -     self.contents.font.color = normal_color
 
 -     self.contents.draw_text(x + 16, y, 24, WLH, actor.level, 2)
 
 -   end  
 
 -   def draw_currency_value_menu(value, x, y, width)
 
 -     cx = contents.text_size(Vocab::gold).width
 
 -     self.contents.font.color = normal_color
 
 -     self.contents.draw_text(x, y, width-cx-2, WLH, value, 1)
 
 -   end
 
 - def draw_actor_hp_menu(actor, x, y)
 
 - back = Cache.menu("Meter_Back")    
 
 - cw = back.width  
 
 - ch = back.height 
 
 - src_rect = Rect.new(0, 0, cw, ch)    
 
 - self.contents.blt(x + 65, y - ch + 30, back, src_rect)
 
 - meter = Cache.menu("HP_Meter")    
 
 - cw = meter.width  * actor.hp / actor.maxhp
 
 - ch = meter.height 
 
 - src_rect = Rect.new(0, 0, cw, ch)
 
 - self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
 
 - text = Cache.menu("HP_Text")    
 
 - cw = text.width  
 
 - ch = text.height 
 
 - src_rect = Rect.new(0, 0, cw, ch)
 
 - self.contents.blt(x + 35, y - ch + 30, text, src_rect)
 
 - self.contents.font.color = Color.new(255,255,255,255)
 
 - self.contents.draw_text(x + 81, y - 1, 48, 32, actor.hp.to_s, 2)
 
 - self.contents.font.color = Color.new(255,255,255,255)
 
 - self.contents.draw_text(x + 80, y - 2, 48, 32, actor.hp.to_s, 2)    
 
 - end     
 
 - def draw_actor_mp_menu(actor, x, y)
 
 - back = Cache.menu("Meter_Back")    
 
 - cw = back.width  
 
 - ch = back.height 
 
 - src_rect = Rect.new(0, 0, cw, ch)    
 
 - self.contents.blt(x + 65, y - ch + 30, back, src_rect)
 
 - meter = Cache.menu("MP_Meter")    
 
 - cw = meter.width  * actor.mp / actor.maxmp
 
 - ch = meter.height 
 
 - src_rect = Rect.new(0, 0, cw, ch)
 
 - self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
 
 - text = Cache.menu("MP_Text")    
 
 - cw = text.width  
 
 - ch = text.height 
 
 - src_rect = Rect.new(0, 0, cw, ch)
 
 - self.contents.blt(x + 35, y - ch + 30, text, src_rect)
 
 - self.contents.font.color = Color.new(0,0,0,255)
 
 - self.contents.draw_text(x + 81, y - 1, 48, 32, actor.mp.to_s, 2)
 
 - self.contents.font.color = Color.new(255,255,255,255)
 
 - self.contents.draw_text(x + 80, y - 2, 48, 32, actor.mp.to_s, 2)    
 
 - end      
 
 - def draw_actor_name_menu(actor, x, y)
 
 -     self.contents.font.color = text_color(23)
 
 -     self.contents.draw_text(x, y, 108, WLH, actor.name,1)
 
 - end  
 
 - def draw_actor_level_menu(actor, x, y)
 
 -     self.contents.font.color = system_color
 
 -     self.contents.draw_text(x, y, 32, WLH, "LV")
 
 -     self.contents.font.color = text_color(10)
 
 -     self.contents.draw_text(x + 18, y, 24, WLH, actor.level, 1)
 
 - end  
 
 - end
 
 - class Game_Map
 
 - attr_reader   :map_id  
 
 - def mpname
 
 - $mpname = load_data("Data/MapInfos.rvdata") 
 
 - $mpname[@map_id].name
 
 - end
 
 - end
 
 - class Window_Selectable_Menu < Window_Base
 
 -   attr_reader   :item_max              
 
 -   attr_reader   :column_max            
 
 -   attr_reader   :index                    
 
 -   def initialize(x, y, width, height, spacing = 32)
 
 -     @item_max = 1
 
 -     @column_max = 1
 
 -     @index = -1
 
 -     @spacing = spacing
 
 -     super(x, y, width, height)
 
 -   end
 
 -   def create_contents
 
 -     self.contents.dispose
 
 -     self.contents = Bitmap.new(width - 32, [height - 32, row_max * WLH].max)
 
 -   end  
 
 -   def index=(index)
 
 -     @index = index
 
 -   end
 
 -   def row_max
 
 -     return (@item_max + @column_max - 1) / @column_max
 
 -   end
 
 -   def top_row
 
 -     return self.oy / WLH
 
 -   end
 
 -   def top_row=(row)
 
 -     row = 0 if row < 0
 
 -     row = row_max - 1 if row > row_max - 1
 
 -     self.oy = row * WLH
 
 -   end
 
 -   def page_row_max
 
 -     return (self.height - 32) / WLH
 
 -   end
 
 -   def page_item_max
 
 -     return page_row_max * @column_max
 
 -   end
 
 -   def bottom_row
 
 -     return top_row + page_row_max - 1
 
 -   end
 
 -   def bottom_row=(row)
 
 -     self.top_row = row - (page_row_max - 1)
 
 -   end
 
 -   def cursor_movable?
 
 -     return false if (not visible or not active)
 
 -     return false if (index < 0 or index > @item_max or @item_max == 0)
 
 -     return false if (@opening or @closing)
 
 -     return true
 
 -   end
 
 -   def cursor_down(wrap = false)
 
 -     if (@index < @item_max - @column_max) or (wrap and @column_max == 1)
 
 -       @index = (@index + @column_max) % @item_max
 
 -     end
 
 -   end
 
 -   def cursor_up(wrap = false)
 
 -     if (@index >= @column_max) or (wrap and @column_max == 1)
 
 -       @index = (@index - @column_max + @item_max) % @item_max
 
 -     end
 
 -   end
 
 -   def cursor_right(wrap = false)
 
 -     if (@column_max >= 2) and
 
 -        (@index < @item_max - 1 or (wrap and page_row_max == 1))
 
 -       @index = (@index + 1) % @item_max
 
 -     end
 
 -   end
 
 -   def cursor_left(wrap = false)
 
 -     if (@column_max >= 2) and
 
 -        (@index > 0 or (wrap and page_row_max == 1))
 
 -       @index = (@index - 1 + @item_max) % @item_max
 
 -     end
 
 -   end
 
 -   def update
 
 -     super
 
 -     if cursor_movable?
 
 -       last_index = @index
 
 -       if Input.repeat?(Input::DOWN)
 
 -         cursor_down(Input.trigger?(Input::DOWN))
 
 -       end
 
 -       if Input.repeat?(Input::UP)
 
 -         cursor_up(Input.trigger?(Input::UP))
 
 -       end
 
 -       if Input.repeat?(Input::RIGHT)
 
 -         cursor_down(Input.trigger?(Input::DOWN))
 
 -       end
 
 -       if Input.repeat?(Input::LEFT)
 
 -         cursor_up(Input.trigger?(Input::UP))
 
 -       end
 
  
-       if @index != last_index
 
 -         Sound.play_cursor
 
 -       end
 
 -     end
 
 -   end
 
 - end
 
 - class Window_MenuStatus_Yui < Window_Selectable_Menu
 
 -   def initialize(x, y)
 
 -     super(x, y, 460, 300)
 
 -     self.contents.font.bold = true
 
 -     self.contents.font.shadow = true
 
 -     self.contents.font.size = 16
 
 -     refresh
 
 -     self.active = false
 
 -     self.index = -1
 
 -   end
 
 -   def refresh
 
 -     self.contents.clear
 
 -     @item_max = $game_party.members.size
 
 -     for actor in $game_party.members
 
 -       if actor.index == 0
 
 -       draw_actor_graphic(actor, 172,115)
 
 -       draw_actor_name_menu(actor, 120,130)
 
 -       draw_actor_level_menu(actor, 90,55)     
 
 -       draw_actor_state(actor, 125,110)      
 
 -       draw_actor_hp_menu(actor,  90,20)
 
 -       draw_actor_mp_menu(actor, 120,45)      
 
 -       elsif actor.index == 1
 
 -       draw_actor_graphic(actor, 61, 228)
 
 -       draw_actor_name_menu(actor, 10, 245) 
 
 -       draw_actor_level_menu(actor, 0, 165)   
 
 -       draw_actor_state(actor, 15, 145)            
 
 -       draw_actor_hp_menu(actor,  -15, 130)
 
 -       draw_actor_mp_menu(actor, 15, 155)           
 
 -       elsif actor.index == 2
 
 -       draw_actor_graphic(actor, 290, 228)
 
 -       draw_actor_name_menu(actor, 240, 245)   
 
 -       draw_actor_level_menu(actor, 225, 165)    
 
 -       draw_actor_state(actor, 230, 145)            
 
 -       draw_actor_hp_menu(actor,  210, 130)
 
 -       draw_actor_mp_menu(actor, 240, 155)        
 
 -       end
 
 -     end
 
 -   end
 
 -   def update_cursor
 
 -   end
 
 - end
 
 - class Window_Mapname < Window_Base
 
 -   def initialize(x, y)
 
 -     super(x, y, 160, WLH + 32)
 
 -     self.contents.font.bold = true
 
 -     self.contents.font.size = 16    
 
 -     refresh
 
 -   end  
 
 - def refresh
 
 -     self.contents.clear
 
 -     self.contents.font.color = normal_color
 
 -     self.contents.draw_text(4, 0, 120, 30, $game_map.mpname.to_s, 1)
 
 - end
 
 - end
 
 - class Window_Gold_Menu < Window_Base
 
 -   def initialize(x, y)
 
 -     super(x, y, 160, WLH + 32)
 
 -     self.contents.font.bold = true
 
 -     self.contents.font.size = 16
 
 -     self.contents.font.color = power_up_color    
 
 -     refresh
 
 -   end
 
 -   def refresh
 
 -     self.contents.clear
 
 -     draw_currency_value_menu($game_party.gold, 10, 0, 120)
 
 -   end
 
 - end
 
 - class Window_Time < Window_Base
 
 -   def initialize(x, y)
 
 -     super(x, y, 160, WLH + 32)
 
 -     self.contents.font.bold = true
 
 -     self.contents.font.size = 16
 
 -     self.contents.font.color = power_up_color
 
 -     refresh
 
 -   end
 
 -   def refresh
 
 -     self.contents.clear
 
 -     @total_sec = Graphics.frame_count / Graphics.frame_rate
 
 -     hour = @total_sec / 60 / 60
 
 -     min = @total_sec / 60 % 60
 
 -     sec = @total_sec % 60
 
 -     text = sprintf("%02d:%02d:%02d", hour, min, sec)
 
 -     self.contents.draw_text(4, 0, 120, 32,  text, 2)
 
 - end
 
 -   def update
 
 -     super
 
 -     if Graphics.frame_count / Graphics.frame_rate != @total_sec
 
 -       refresh
 
 -     end
 
 -   end
 
 - end
 
 - class Scene_Menu   
 
 -   def main
 
 -     start                         
 
 -     perform_transition            
 
 -     Input.update                 
 
 -     loop do
 
 -       Graphics.update            
 
 -       Input.update              
 
 -       update                      
 
 -       break if $scene != self      
 
 -     end
 
 -     Graphics.update
 
 -     pre_terminate             
 
 -     Graphics.freeze               
 
 -     terminate                   
 
 -   end  
 
 -   def initialize(menu_index = 0)
 
 -     @menu_index = menu_index
 
 -   end  
 
 -   def perform_transition
 
 -     Graphics.transition(10, "Graphics/System/BattleStart", 80)     
 
 -   end
 
 -   def start
 
 -     @menu_back = Plane.new    
 
 -     @menu_back.bitmap = Cache.menu("Background")
 
 -     @menu_layout = Sprite.new  
 
 -     @menu_layout.bitmap = Cache.menu("EanBack")
 
 -     @menu_com = Sprite.new  
 
 -     @menu_com.bitmap = Cache.menu("选项底色")
 
 -     @menu_select = Sprite.new  
 
 -     @menu_select.bitmap = Cache.menu("底盘")
 
 -     create_command_window
 
 -     @gold_window = Window_Gold_Menu.new(305,348)
 
 -     @status_window = Window_MenuStatus_Yui.new(100, 60)
 
 -     @playtime_window = Window_Time .new(160,345)
 
 -     @mapname_window = Window_Mapname.new(20,345)
 
 -     @status_window.opacity = 0
 
 -     @playtime_window.opacity = 0
 
 -     @mapname_window.opacity = 0
 
 -     @gold_window.opacity = 0    
 
 -   end
 
 -   def pre_terminate
 
 -   end  
 
 -   def terminate
 
 -     @menu_back.dispose
 
 -     @menu_layout.dispose
 
 -     @menu_com.dispose
 
 -     @menu_select.dispose
 
 -     @command_window.dispose
 
 -     @gold_window.dispose
 
 -     @status_window.dispose
 
 -     @playtime_window.dispose
 
 -     @mapname_window.dispose
 
 -   end
 
 -   def update
 
 -     @menu_back.ox += 1
 
 -     @command_window.update
 
 -     @gold_window.update
 
 -     @status_window.update
 
 -     @mapname_window.update
 
 -     @playtime_window.update
 
 -     if @command_window.active
 
 -       update_command_selection
 
 -     elsif @status_window.active
 
 -       update_actor_selection
 
 -     end
 
 -   end
 
 -   def create_command_window
 
 -     s1 = Vocab::item
 
 -     s2 = Vocab::skill
 
 -     s3 = Vocab::equip
 
 -     s4 = Vocab::status
 
 -     s5 = Vocab::save
 
 -     s6 = "任务"
 
 -     s7 = "Magic shop"
 
 -     s8 = "技能分配"
 
 -     s9 = Vocab::game_end
 
 -     @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7, s8, s9])
 
 -     @command_window.index = @menu_index
 
 -     @command_window.openness = 0
 
 -     @command_window.open
 
 -     @command_window.opacity = 0
 
 -     @command_window.contents_opacity = 0
 
 -     if $game_system.save_disabled              
 
 -       @command_window.draw_item(4, false)     
 
 -     end
 
 -   end
 
 -   def update_command_selection    
 
 -      case @command_window.index
 
 -      when 0
 
 -     @menu_com.bitmap = Cache.menu("物品")
 
 -      when 1
 
 -     @menu_com.bitmap = Cache.menu("技能")
 
 -      when 2
 
 -     @menu_com.bitmap = Cache.menu("装备")
 
 -      when 3
 
 -     @menu_com.bitmap = Cache.menu("状态")
 
 -      when 4
 
 -     @menu_com.bitmap = Cache.menu("存档")
 
 -      when 5
 
 -     @menu_com.bitmap = Cache.menu("任务")
 
 -      when 6
 
 -     @menu_com.bitmap = Cache.menu("魔法商店")
 
 -      when 7
 
 -     @menu_com.bitmap = Cache.menu("加点")
 
 -      when 8
 
 -     @menu_com.bitmap = Cache.menu("退出")
 
 -     end          
 
 -     if Input.trigger?(Input::B)
 
 -       Sound.play_cancel
 
 -       $scene = Scene_Map.new
 
 -     elsif Input.trigger?(Input::C)
 
 -       if $game_party.members.size == 0 and @command_window.index < 4
 
 -         Sound.play_buzzer
 
 -         return
 
 -       elsif $game_system.save_disabled and @command_window.index == 4
 
 -         Sound.play_buzzer
 
 -         return
 
 -       end
 
 -       Sound.play_decision
 
 -       case @command_window.index
 
 -       when 0      
 
 -         $scene = Scene_Item.new
 
 -       when 1,2,3   
 
 -         start_actor_selection
 
 -       when 4       
 
 -         $scene = Scene_File.new(true, false, false)
 
 -       when 5     
 
 -         $scene = Scene_Task.new
 
 -       when 6
 
 -         $skill_shop = [1,2,3,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] 
 
 -         $scene = Scene_Skill_Shop.new
 
 -       when 7
 
 -         $scene = Scene_Lvup.new(0)
 
 -       when 8
 
 -         $scene = Scene_End.new
 
 -       end
 
 -     end
 
 -   end
 
 -   def start_actor_selection
 
 -     @command_window.active = false
 
 -     @status_window.active = true
 
 -     if $game_party.last_actor_index < @status_window.item_max
 
 -       @status_window.index = $game_party.last_actor_index
 
 -     else
 
 -       @status_window.index = 0
 
 -     end
 
 -   end
 
 -   def end_actor_selection
 
 -     @command_window.active = true
 
 -     @status_window.active = false
 
 -     @menu_select.bitmap = Cache.menu("底盘")
 
 -     @status_window.index = -1
 
 -   end
 
 -   def update_actor_selection    
 
 -      case @status_window.index
 
 -      when 0
 
 -     @menu_select.bitmap = Cache.menu("底盘1")
 
 -      when 1
 
 -     @menu_select.bitmap = Cache.menu("底盘2")
 
 -      when 2
 
 -     @menu_select.bitmap = Cache.menu("底盘3")
 
 -     end
 
 -     if Input.trigger?(Input::B)
 
 -       Sound.play_cancel
 
 -       end_actor_selection
 
 -     elsif Input.trigger?(Input::C)
 
 -       $game_party.last_actor_index = @status_window.index
 
 -       Sound.play_decision
 
 -       case @command_window.index
 
 -       when 1 
 
 -         $scene = Scene_Skill.new(@status_window.index)
 
 -       when 2   
 
 -         $scene = Scene_Equip.new(@status_window.index)
 
 -       when 3  
 
 -         $scene = Scene_Status.new(@status_window.index)
 
 -       end
 
 -     end
 
 -   end
 
 - end
 
 - $mogscript = {} if $mogscript == nil
 
 - $mogscript["menu_yui"] = true
 
  复制代码 
 
 
谁能把改成4个人,,,,, 
代码地址如下 
http://u.115.com/file/clnmywch 
 
 
liyikunl于2011-7-17 15:07补充以下内容: 
求解啊。。。。。。不会来的都是下代码的吧。。。。。。。。。。。 
 
 
liyikunl于2011-7-17 16:04补充以下内容: 
求人不如求己,自己改了。。。。。。。 |   
 
 
 
 |