Project1
标题:
关于打开菜单时地图暂停的问题
[打印本页]
作者:
kyjoke
时间:
2024-4-25 15:56
标题:
关于打开菜单时地图暂停的问题
众所周知,地图-菜单-战斗是不同的场景,而rm里哪怕创建一个新的场景,也是和其他场景不互通的,菜单里面的背景只是一个临时的快照。
那有没有可能把打开菜单时候创建窗口的方法给改写,让他在地图场景直接创建窗口和实现逻辑?从而打开菜单的时候不会暂停
我知道这可能是一个很扯淡的问题,我只是问问....
作者:
505681468
时间:
2024-4-25 16:55
本帖最后由 505681468 于 2024-4-25 17:01 编辑
目前 rm 只用 SceneManager._scene 管理当前场景,决定了活动的场景唯一
抛砖引玉一下,两个不太好的方法
1、改菜单显示逻辑,改成窗口类
好处是,不用大改场景逻辑
坏处是,场景仍然在活动、渲染,需要做特定的逻辑处理,和窗口队列管理
当然了,某些游戏不用做额外的处理,像你说的,直接创建窗口,场景不暂停
可以做一些特殊需求,例如让玩家在打开背包的时候,可以被怪打死之类的,提高玩家在战斗中的背包使用门槛
2、改场景为列表,实现场景暂停、恢复等功能
好处是,灵活,拓展度高,更不容易出现设计bug
坏处是,需要设计场景管理流程
作者:
小秋橙
时间:
2024-4-25 16:59
很好的想法,但是Scene_Menu下面还会进一步进入Scene_Status, Scene_Skill, Scene_Equip, Scene_Item, Scene_Options, Scene_Save/Load, Scene_GameEnd
其中也只有 Options 和 GameEnd 比较容易用事件改写,其他的都很麻烦吧……
作者:
HM495
时间:
2024-4-25 18:03
先不谈技术方面怎么实现的问题
你先想想“如果不暂停,会发生什么情况,要用什么方案解决”,
最直观的一个问题:
打开菜单期间NPC/怪物等事件与玩家接触时触发了事件,整整三页的指令每一条用什么方案去兼容?
触发了对话怎么办,队员操作到一半有人离队了怎么办,触发了场所移动怎么办
RM的一大堆底层逻辑都是建立在场景独立的条件下的,你要完美实现这个效果约等于把地基掀了
在考虑技术层面怎么实现之前得先从设计层面把这些细节的处理方案给明确了
作者:
kyjoke
时间:
2024-4-29 03:57
505681468 发表于 2024-4-25 16:55
目前 rm 只用 SceneManager._scene 管理当前场景,决定了活动的场景唯一
抛砖引玉一下,两个不太好的方法
好吧 我试了一下 我只能实现第一步 也就是创建主菜单窗口和主菜单的逻辑 接下来创建其他窗口我就麻了 实在是对于这些不太熟练
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1