| 赞 | 0 |
| VIP | 0 |
| 好人卡 | 0 |
| 积分 | 1 |
| 经验 | 469 |
| 最后登录 | 2021-2-21 |
| 在线时间 | 6 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 110
- 在线时间
- 6 小时
- 注册时间
- 2008-5-17
- 帖子
- 29
|
我不知道你是用什么样的鼠标脚本,正常来说(我看的是默认脚本里面的),在scene_map里面的updage 函数里面有这么几句:
if Input.trigger?(Input::B)
# 不是在事件执行中或菜单禁止中
unless $game_system.map_interpreter.running? or
$game_system.menu_disabled
# 设置菜单调用标志以及 SE 演奏
$game_temp.menu_calling = true *************
$game_temp.menu_beep = true
end
end
打*号的就是把窗口调用的一个状态值改成true,用鼠标的也应该有
之后在
unless $game_player.moving?
# 执行各种画面的调用
if $game_temp.battle_calling
call_battle
elsif $game_temp.shop_calling
call_shop
elsif $game_temp.name_calling
call_name
elsif $game_temp.menu_calling *******
call_menu ******
elsif $game_temp.save_calling
call_save
elsif $game_temp.debug_calling
call_debug
end
end
里面有call_menu就是调用call_menu的
再看
def call_menu
# 清除商店调用菜单标志
$game_temp.menu_calling = false
# 已经设置了菜单 SE 演奏标志的情况下
if $game_temp.menu_beep
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 清除菜单演奏 SE 标志
$game_temp.menu_beep = false
end
# 矫正主角姿势
$game_player.straighten
# 切换到菜单画面
$scene = Scene_Menu.new *******
end
打*号的地方就是换scene的
综上所述,应该可以如此实现:
1.加一个system_menu_calling = false
2.在鼠标判定的那儿把点右键改system_menu_calling = true
3.加一个scene_system_menu类,如何写可以参照scene_menu类,基本大多照搬
4.scene_menu中的save,load,end去掉基本就成了 |
|