- 注册时间
- 2006-6-29
- 最后登录
- 2007-12-8
⑤进阶
- 积分
- 627
|

楼主 |
发表于 2006-8-12 17:11:33
|
显示全部楼层
- #==============================================================================
- # ■ Scene_Menu_A
- #------------------------------------------------------------------------------
- # 处理菜单画面的类。
- #==============================================================================
- class Scene_Menu_A
- #--------------------------------------------------------------------------
- # ● 初始化对像
- # menu_index : 命令光标的初期位置
- #--------------------------------------------------------------------------
- def initialize(menu_index = 0)
- @menu_index = menu_index
- end
- #--------------------------------------------------------------------------
- # ● 主处理
- #--------------------------------------------------------------------------
- def main
- # 将"蛋.png"删除
- $game_screen.pictures[1].erase
- # 生成命令窗口
- s1 = "物 品"
- s2 = "留下记忆"
- s3 = "寻找记忆"
- s4 = "升级差距"
- s5 = "结束游戏"
- s6 = "取 消"
- @command_window = Window_Command.new(196, [s1, s2, s3, s4, s5])
- @command_window.index = @menu_index
- @command_window.x = 320 - @command_window.width / 2
- @command_window.y = 240 - @command_window.height / 2
- # 执行过渡
- Graphics.transition
- # 主循环
- loop do
- # 刷新游戏画面
- Graphics.update
- # 刷新输入信息
- Input.update
- # 刷新画面
- update
- # 如果切换画面就中断循环
- if $scene != self
- break
- end
- end
- # 准备过渡
- Graphics.freeze
- # 释放窗口
- @command_window.dispose
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面
- #--------------------------------------------------------------------------
- def update
- # 刷新窗口
- @command_window.update
- # 命令窗口被激活的情况下: 调用 update_command
- if @command_window.active
- update_command
- return
- end
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面 (命令窗口被激活的情况下)
- #--------------------------------------------------------------------------
- def update_command
- # 按下 B 键的情况下
- if Input.trigger?(Input::B)
- # 演奏取消 SE
- $game_system.se_play($data_system.cancel_se)
- # 显示图片
- $game_screen.pictures[1].show("蛋",0,20,30,100,100,225,0)
- # 切换的地图画面
- $scene = Scene_Map.new
- return
- end
- # 按下 C 键的情况下
- if Input.trigger?(Input::C)
- # 同伴人数为 0、存档、游戏结束以外的场合
- if $game_party.actors.size == 0 and @command_window.index < 4
- # 演奏冻结 SE
- $game_system.se_play($data_system.buzzer_se)
- return
- end
- # 命令窗口的光标位置分支
- case @command_window.index
- when 0 # 物品
- # 演奏确定 SE
- $game_system.se_play($data_system.decision_se)
- # 切换到物品画面
- $scene = Scene_Item.new
- when 1 # 存档
- # 禁止存档的情况下
- if $game_system.save_disabled
- # 演奏冻结 SE
- $game_system.se_play($data_system.buzzer_se)
- return
- end
- # 演奏确定 SE
- $game_system.se_play($data_system.decision_se)
- # 切换到存档画面
- $scene = Scene_Save.new
- when 2 # 读挡
- # 演奏确定 SE
- $game_system.se_play($data_system.decision_se)
- # 切换到读档画面
- $scene = Scene_Load2.new
- when 3 # 升级差距
- when 4 # 结束游戏
- # 演奏确定 SE
- $game_system.se_play($data_system.decision_se)
- # 切换到游戏结束画面
- $scene = Scene_End.new
- when 5 # 取消
- # 演奏取消 SE
- $game_system.se_play($data_system.cancel_se)
- # 移动主角位置
- $game_temp.player_transferring = true
- $game_temp.player_new_map_id = 15
- $game_temp.player_new_x = 10
- $game_temp.player_new_y = 7
- $game_temp.player_new_direction = 2
- # 调用公共事件
- $game_temp.common_event_id = 4
- # 等待1秒
- @wait_count = 12
- # 切换到游戏画面
- $scene = Scene_Map.new
- end
- return
- end
- end
- end
-
复制代码 |
|