一般来讲,出现这种问题原因比较复杂,你这里脚本众多所以不太好判断。 一个可能的原因是内存不足(内存泄露),在你使用脚本生成状态窗口人物头像的时候,建立的方式为直接使用的Bitmap.new(path)的形式,使用之后没有释放导致内存不足。所以以这种方式建立的位图使用完毕后必须释放。或者也可以定义高速缓存: RUBY 代码复制
使用的时候直接RPG::Cache.head(filename)即可,不需要释放。 不过我也无法肯定就是这个问题,或许也可能是别的脚本出现错误。 |
你好,RB大神~~我遇到一个问题想请教您一下。我的游戏突然出现一个问题,就是当我打开游戏,第一次调出菜单画面的时候,没有问题,但是当我关掉菜单画面,再按第三次Esc的时候,就出现了一个什么什么该内存不能为read。每次都是这样,然后我把每一个脚本都放到main下边试了一次,都不行,后来我干脆把我写的那个菜单美好的脚本删了,还是不行。于是我新建了一个工程,把除了script以外的所有data文件全拷进去,然后依次把我加的所有脚本加进去,加到我写的那个菜单美化的时候,又出现了同样的状况,然后我又删了这个脚本,结果可以了。我又回老工程里,又删了菜单美化,还是报错……请问应该如何解决?是不是我的脚本哪些地方有什么问题? |
用了5分钟的时间大致看了一下脚本,总体来说修改的效果还不错,在这里说说我发现的问题。 1. Window_Base#text_color里面好像把else的部分去掉了,希望补上。因为这个地方是为了防止传入无效参数而设定的,没有else会出问题。 2. SP条的描绘要考虑角色的maxsp是否为0,这点我在视频教学里面也有提到过。 3. 脚本的缩进是硬伤,看起来不舒服。 4. 貌似Window_Base里面无需改动的方法也被重新写了一遍,建议删掉。 5. @status_window.update在update中被调用了2次(当状态窗口被激活时),这个问题是致命的,不过你的状态窗口还好选项只有一个,如果像命令窗口一样有多个光标的话,按一下'↓'光标会移动两格。 6. Scene_Menu#update_status写的太啰嗦。具体来说,你是生成了四个独立的窗口,然后分别控制刷新。这个做法在默认脚本里面的Scene_File中有使用,但是刷新应该没有这么复杂,可以参考默认脚本的做法。 7. 你用了两个全局变量$cancel和$index来控制从别的场景返回时,Scene_Menu的不同响应。如果从特技等场景返回时,光标应该停在那个状态窗口上。这个设定很好,但是全局变量让我看着太不舒服了。请把它改成别的写法。 8. 推荐使用alias关键字(能用则用),以减小脚本冲突的可能。例如你的Scene_Skill#update_skill,就完全可以使用alias进行追加定义(如果你使用全局变量的话)。 以上就先总结这么多,看的并不是很仔细。此外鼓励楼主多多进行这样的脚本练习。 |
据最新测试,在六个选项的文字前加一个空格可能能够略微提高美观程度= =本人不再修改脚本,如有需要大家可以自行添加~ |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-26 07:05
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.