Project1

标题: 拒绝F11!纯事件做Mini Scene [打印本页]

作者: SailCat    时间: 2017-10-18 23:29
标题: 拒绝F11!纯事件做Mini Scene
本帖最后由 SailCat 于 2017-10-18 23:47 编辑

虽然XP没有Scene_Base或Scene_Manager,但是其实现原理和VA、MV等是一样的。即:一个Scene的main主处理,总是包括建立、更新、释放三个部分。
如果你需要的Scene非常简单,完全可以不用F11,而是直接用事件方式,通过混合事件指令和脚本来完成MiniScene的main处理。


Scene的建立:
用事件脚本建立你这个Scene的所有元素,如精灵、窗口、相关对象等。精灵如果是图片,可直接调用显示图片指令。变量全部用@开头,这样其生命周期会在整个解释器中有效。


Scene的更新:——你看这个像不像系统内建Scene的更新方式?
循环
   Graphics.update
   Input.update
   你建立的那些可更新对象的update
   true # 一定加上这句避免卡死
   条件分歧:当某些条件满足时
      中断循环
   分歧结束
以上反复

Scene的释放:
你建立的那些可释放对象的dispose,显示的图片该消失的消失掉
把这些对象都设为nil,“屁股揩干净”


以下用一个曾经愁死无数人的“如何显示超过4个的选择项”为例。
显示超过4个(但不超过12个)的选择项,我们都可以使用Window_Command来实现,非常简单,如下图


效果:




窗口的大小、位置,要不要叠加显示文章什么的,你都可以参见例子自己进行调整……
另一个例子,我就不多解释了:

这种小需求,就别再打扰F11啦!




作者: zmj945    时间: 2017-10-19 10:47
虽然看不懂 ,但觉得大佬很厉害的样子。虽然有个萌猫猫头像,但发现你是几个版本都好熟的程序大佬啊。
作者: l734273398    时间: 2019-7-24 19:29
看起来好厉害,但表示自己尝试弄不来{:4_85:}
作者: 陈大帅帅帅哥    时间: 2019-7-29 19:08
感觉这比F11还难(手动狗头保命)




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1