查看: 2314|回复: 10

[已经过期] RGSS PLAY已经停止工作,能看出是什么问题吗

[复制链接]
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2017-7-25 00:10:56 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
突然就弹出来,没有什么预警
QQ图片20170725000957.png
QQ图片20170725001038.png
梦石
0
星屑
900
在线时间
76 小时
注册时间
2017-7-10
回帖
20
发表于 2017-7-25 00:56:28 | 显示全部楼层
WIN7特有的故障,原因有很多,dll加载错误,软件不兼容,文件不在等内部消息都会引发,检查下是不是脚本兼容问题。
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2017-7-25 13:08:19 | 显示全部楼层
多半是dll的问题,可以试试在兼容模式下运行?我之前自己写了个dll,然后在win10下崩溃退出,用兼容模式反而可以运行= =

点评

问题是没有附加的DLL啊  发表于 2017-7-25 14:19
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45700
在线时间
7948 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2017-7-25 15:16:55 | 显示全部楼层
目前为止RM在无外部dll以及内存修改(包括黑科技脚本)的情况下会发生内存访问异常的只有sprite泄漏。
你的上一个场景,应该是地图场景把,新建了某个sprite然后经过Graphics.transition后没有释放,在win7以上的系统就会爆炸。
可以找你的程序员帮你检查,我这里有一段简易的排除方法,放在场景切换的时候就可以避免这个bug产生,但并不适用所有情况,还是让程序员仔细判断一下把。
  1. ObjectSpace.each_object do |obj|
  2.    if obj.is_a?(Sprite) && obj.disposed? == false
  3.       obj.dispose
  4.    end
  5. end
复制代码

点评

谢谢  发表于 2017-7-26 09:14
我是说切换场景时产生的泄漏,内存泄漏后根据环境不同在不同的时机产生内存访问异常。可以搜索一下内存泄漏查看详细定义。  发表于 2017-7-25 22:16
不是在场景切换时,是自己一个阵亡后,换另一个打了几下,出错了。这个出错很少见,这几天都在测试,只见过这一次。  发表于 2017-7-25 16:51
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

 楼主| 发表于 2017-7-26 09:18:43 | 显示全部楼层
fux2 发表于 2017-7-25 15:16
目前为止RM在无外部dll以及内存修改(包括黑科技脚本)的情况下会发生内存访问异常的只有sprite泄漏。
你的 ...
  1. @text.bitmap.dispose
  2.        @text.bitmap = nil
  3.        @text.dispose
  4.        @text = nil   
复制代码

使用了你这个脚本后。脚本内这些=NIL的都报错了。
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45700
在线时间
7948 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2017-7-26 11:41:25 | 显示全部楼层
yang1zhi 发表于 2017-7-26 09:18
使用了你这个脚本后。脚本内这些=NIL的都报错了。

不懂手动GC,=nil是完全没有必要的
用了我这段代码sprite就会全部被释放,你这里还调用一次dispose不是重复了吗
要么删除原有的dispose,要么都加上disposed?的判断(最好还是检查哪里的sprite没释放

点评

一些现成脚本在dispose后都还会加个=NIL。看起来好像是用来判断是不是NIL。因为没有建立以前是NIL,释放后不是NIL  发表于 2017-7-26 13:55
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部