设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2066|回复: 3
打印 上一主题 下一主题

[已经解决] 菜单选项窗口怎么样增加一个"下一页"?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
977 小时
注册时间
2011-5-13
帖子
292
跳转到指定楼层
1
发表于 2011-9-28 17:17:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就是
物品
技能
……
下一页

按下  下一页  后
就转到另一个选项窗口。

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42859
在线时间
7624 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

2
发表于 2011-9-28 17:58:57 | 只看该作者
建立多个WINDOW_COMMAND切来切去啦.
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
977 小时
注册时间
2011-5-13
帖子
292
3
 楼主| 发表于 2011-9-28 18:01:53 | 只看该作者
fux2 发表于 2011-9-28 17:58
建立多个WINDOW_COMMAND切来切去啦.

就是感觉好麻烦的说..有点繁杂了
回复

使用道具 举报

Lv2.观梦者

(?????)

梦石
0
星屑
736
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

4
发表于 2011-9-28 18:02:48 | 只看该作者
丢个范例给你,新建个工程插到main上面
  1. #==============================================================================
  2. # ■ 2PMenu
  3. #------------------------------------------------------------------------------
  4. #  将RMVX默认的菜单扩展到两页的范例
  5. #------------------------------------------------------------------------------
  6. #   1.0 2011-9-28 初版 by 各种压力的猫君
  7. #==============================================================================
  8. module MPMenu_Config
  9. #==============================================================================
  10. # 【设定段】
  11. #------------------------------------------------------------------------------
  12. #第2页的选项文字
  13. AMENU1 = "物品2"
  14. AMENU2 = "技能2"
  15. AMENU3 = "装备2"
  16. AMENU4 = "状态2"
  17. AMENU5 = "其它选项A"
  18. AMENU6 = "其它选项B"
  19. #==============================================================================
  20. end

  21. class Scene_Menu < Scene_Base
  22.   #--------------------------------------------------------------------------
  23.   # ● 初始化对像
  24.   #     menu_index : 命令窗口光标初始位置
  25.   #--------------------------------------------------------------------------
  26.   def initialize(menu_index = 0)
  27.     @menu_index = menu_index
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 开始处理
  31.   #--------------------------------------------------------------------------
  32.   def start
  33.     super
  34.     $menupage = 1 if $menupage == nil
  35.     create_menu_background
  36.     create_command_window
  37.     @gold_window = Window_Gold.new(0, 360)
  38.     @status_window = Window_MenuStatus.new(160, 0)
  39.   end
  40.   #--------------------------------------------------------------------------
  41.   # ● 结束处理
  42.   #--------------------------------------------------------------------------
  43.   def terminate
  44.     super
  45.     dispose_menu_background
  46.     @command_window.dispose
  47.     @gold_window.dispose
  48.     @status_window.dispose
  49.   end
  50.   #--------------------------------------------------------------------------
  51.   # ● 翻页处理
  52.   #--------------------------------------------------------------------------
  53.   def turnpage
  54.     dispose_menu_background
  55.     @command_window.dispose
  56.     create_menu_background
  57.     create_command_window
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● 更新画面
  61.   #--------------------------------------------------------------------------
  62.   def update
  63.     super
  64.     update_menu_background
  65.     @command_window.update
  66.     @gold_window.update
  67.     @status_window.update
  68.     if @command_window.active
  69.       update_command_selection
  70.     elsif @status_window.active
  71.       update_actor_selection
  72.     end
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 生成命令窗口
  76.   #--------------------------------------------------------------------------
  77.   def create_command_window
  78.     if $menupage == 1
  79.       s1 = Vocab::item
  80.       s2 = Vocab::skill
  81.       s3 = Vocab::equip
  82.       s4 = Vocab::status
  83.       s5 = Vocab::save
  84.       s6 = Vocab::game_end
  85.       s7 = "下一页"
  86.     elsif $menupage == 2
  87.       s1 = MPMenu_Config::AMENU1
  88.       s2 = MPMenu_Config::AMENU2
  89.       s3 = MPMenu_Config::AMENU3
  90.       s4 = MPMenu_Config::AMENU4
  91.       s5 = MPMenu_Config::AMENU5
  92.       s6 = MPMenu_Config::AMENU6
  93.       s7 = "上一页"
  94.     end
  95.     @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
  96.     @command_window.index = @menu_index
  97.     if $game_party.members.size == 0          # 如果队伍为空
  98.       @command_window.draw_item(0, false)     # 无效化物品选项
  99.       @command_window.draw_item(1, false)     # 无效化技能选项
  100.       @command_window.draw_item(2, false)     # 无效化装备选项
  101.       @command_window.draw_item(3, false)     # 无效化状态选项
  102.     end
  103.     if $game_system.save_disabled             # 如果禁止存档
  104.       @command_window.draw_item(4, false)     # 无效化存档选项
  105.     end
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● 更新命令窗口
  109.   #--------------------------------------------------------------------------
  110.   def update_command_selection
  111.     if Input.trigger?(Input::B)
  112.       Sound.play_cancel
  113.       $scene = Scene_Map.new
  114.       $menupage = nil
  115.     end
  116. #------------------------------------------------------------------------------
  117.     if $menupage == 1            #【第1页的选项命令】
  118.       if Input.trigger?(Input::C)
  119.         if $game_party.members.size == 0 and @command_window.index < 4
  120.           Sound.play_buzzer
  121.           return
  122.         elsif $game_system.save_disabled and @command_window.index == 4
  123.           Sound.play_buzzer
  124.           return
  125.         end
  126.         Sound.play_decision
  127.         case @command_window.index
  128.         when 0      # 物品
  129.           $scene = Scene_Item.new
  130.         when 1,2,3  # 技能、装备、状态
  131.           start_actor_selection
  132.         when 4      # 存档
  133.           $scene = Scene_File.new(true, false, false)
  134.         when 5      # 结束游戏
  135.           $scene = Scene_End.new
  136.         when 6      # 翻页
  137.           $menupage = 2
  138.           turnpage
  139.         end
  140.       end
  141. #------------------------------------------------------------------------------
  142.     elsif $menupage == 2            #【第2页的选项命令】
  143.       if Input.trigger?(Input::C)
  144.         if $game_party.members.size == 0 and @command_window.index < 4
  145.           Sound.play_buzzer
  146.           return
  147.         elsif $game_system.save_disabled and @command_window.index == 4
  148.           Sound.play_buzzer
  149.           return
  150.         end
  151.         Sound.play_decision
  152.         case @command_window.index
  153.         when 0      # 物品2
  154.           $scene = Scene_Item.new
  155.         when 1,2,3  # 技能2、装备2、状态2
  156.           start_actor_selection
  157.         when 4      # 其它选项A
  158.           print "这里可以自己扩展"
  159.         when 5      # 其它选项B
  160.           print "这里可以自己扩展"
  161.         when 6      # 翻页
  162.           $menupage = 1
  163.           turnpage
  164.         end
  165.       end
  166. #------------------------------------------------------------------------------
  167.     end
  168.   end
  169.   #--------------------------------------------------------------------------
  170.   # ● 角色选择开始
  171.   #--------------------------------------------------------------------------
  172.   def start_actor_selection
  173.     @command_window.active = false
  174.     @status_window.active = true
  175.     if $game_party.last_actor_index < @status_window.item_max
  176.       @status_window.index = $game_party.last_actor_index
  177.     else
  178.       @status_window.index = 0
  179.     end
  180.   end
  181.   #--------------------------------------------------------------------------
  182.   # ● 角色选择结束
  183.   #--------------------------------------------------------------------------
  184.   def end_actor_selection
  185.     @command_window.active = true
  186.     @status_window.active = false
  187.     @status_window.index = -1
  188.   end
  189.   #--------------------------------------------------------------------------
  190.   # ● 角色选择更新
  191.   #--------------------------------------------------------------------------
  192.   def update_actor_selection
  193.     if Input.trigger?(Input::B)
  194.       Sound.play_cancel
  195.       end_actor_selection
  196.     elsif Input.trigger?(Input::C)
  197.       $game_party.last_actor_index = @status_window.index
  198.       Sound.play_decision
  199.       case @command_window.index
  200.       when 1  # 技能
  201.         $scene = Scene_Skill.new(@status_window.index)
  202.       when 2  # 装备
  203.         $scene = Scene_Equip.new(@status_window.index)
  204.       when 3  # 状态
  205.         $scene = Scene_Status.new(@status_window.index)
  206.       end
  207.     end
  208.   end
  209. end
复制代码

点评

def turnpage 这里才是重点 = = b 重绘选项窗口 其实background相关的两行貌似可省?  发表于 2011-9-28 18:24
判断下就行了吗= =  发表于 2011-9-28 18:23
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-9 01:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表