Project1

标题: 好像是关于Window_Base类的脚本问题 [打印本页]

作者: 452234679    时间: 2016-6-26 04:22
标题: 好像是关于Window_Base类的脚本问题
本帖最后由 RyanBern 于 2016-6-26 21:37 编辑

我利用公共事件制作了使用某物品后显示窗口的功能
具体脚本是这样写的
@mf = Window_Base.new(185,185,270,64)
...
@mf = dispose
但是一旦使用过这个公共事件之后,如果存档,就会报错
错误显示为:
no marshal_dump is defined for class Window_Base
经搜索后发现和proc类有关,应该是那个@mf无法被存储,希望得到解决的方法
由于我刚学脚本,希望可以得到大神的指点,万分感谢!
作者: taroxd    时间: 2016-6-26 07:26
Window 无法被序列化,与 proc 无关。

不要把 window 写在和存档有关的地方(Game_Xxxx)就可以了。你可以参考一下默认脚本里的窗口是放在哪里的
作者: 452234679    时间: 2016-6-26 07:29
taroxd 发表于 2016-6-26 07:26
Window 无法被序列化,与 proc 无关。

不要把 window 写在和存档有关的地方(Game_Xxxx)就可以了。你可以 ...

可是,我这个是在公共事件里写的脚本,应该如何修改呢,望指导,谢谢!
作者: 喵呜喵5    时间: 2016-6-26 07:34
窗口释放后,显示的执行以下代码:
@mf = nil
作者: taroxd    时间: 2016-6-26 07:36
452234679 发表于 2016-6-26 07:29
可是,我这个是在公共事件里写的脚本,应该如何修改呢,望指导,谢谢! ...


事件里不要使用实例变量(除非你时时刻刻搞得清楚 self,而且能解决你在这个帖子里遇到的问题)。直接用全局变量吧。
作者: 452234679    时间: 2016-6-26 07:57
喵呜喵5 发表于 2016-6-26 07:34
窗口释放后,显示的执行以下代码:
@mf = nil

谢谢大神,问题解决了!
作者: 452234679    时间: 2016-6-26 07:58
taroxd 发表于 2016-6-26 07:36
事件里不要使用实例变量(除非你时时刻刻搞得清楚 self,而且能解决你在这个帖子里遇到的问题)。直接用 ...

谢谢大神,我以后在事件里不使用实变量了




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