Project1
标题: 求教下,经常在游戏里第二、三次进入战斗的时候报错 [打印本页]
作者: 踢腿水上飘 时间: 2016-11-1 14:22
标题: 求教下,经常在游戏里第二、三次进入战斗的时候报错
一进战斗就一卡一卡的几下,然后就RGSS3停止工作……这是怎么回事啊
作者: Vortur 时间: 2016-11-9 11:10
本帖最后由 Vortur 于 2016-11-10 02:11 编辑
六楼的坏人已经给出正确答案,此楼对bug的猜测错误。啧...{:2_251:} 在下这次抛了砖引玉,希望下次有良才美玉主动出手。
不定期贴一下在下的发现和猜测,看看能解决到什么程度吧...
RTAB-CP战斗 使用的类 视野限制 中的类 Sideview中的类-未完成
16.11.10.15.31 16.11.9.18.59
[line]3[/line]To 坏人 :
@ RaidenInfinity
1. 随便你们怎么随时修改版规,反正在下不在乎{:2_272:}
2. 误导是【有意识的】提供错误答案。但本人即使给自己排错,也使用的是同样的方法,所以绝对不是有意识的。而且,你见过哪个坏蛋写这么多认真的话来误导人的?
3. 有时间看在下的答案,怎么不回个贴拨乱反正?{:2_251:}
4. 在下专门照顾那些没人回答的帖子,不给小红花也就罢liao,还处处挤兑在下,太过分啦~~{:2_253:}叫你们的掌柜的来!~
[line]3[/line]16.11.9before
作者: fux2 时间: 2016-11-9 13:09
停止工作我感觉就是Sprite泄露了,你使用过哪些脚本贴一下吧。
作者: 踢腿水上飘 时间: 2016-11-9 17:52
工程在这里http://pan.baidu.com/s/1boAY7BD,我检查了一下,是RTAB-CP战斗,Sideview,和视野限制这三个脚本的问题,但我不会修……求帮个忙- -
我把这三个脚本去掉就没问题了,但是这三个脚本对我还是比较重要的,毕竟纵版战斗不好看……能帮忙的话十分感谢~!
作者: 踢腿水上飘 时间: 2016-11-9 20:05
这个跳出不定时出现,有时候2,3次战斗就出来了,有时候一直玩都不出现
作者: RaidenInfinity 时间: 2016-11-10 19:18
你的脚本的问题是精灵dispose的顺序不正确。精灵(Sprite)在它属于的显示端口(Viewport)之后释放(dispose)的话,有几率造成内存读取错误,而程序崩溃。这是VA程序本身的BUG,至今未修也不会再被修正。因此,能做的只有尽量避免忘记释放精灵,和避免在精灵释放之前释放显示端口。
第一个脚本:视野限制
将153和154行反过来放。
alias tmblsight_spriteset_map_dispose dispose
def dispose
dispose_sight_shadow
tmblsight_spriteset_map_dispose
end
alias tmblsight_spriteset_map_dispose dispose
def dispose
dispose_sight_shadow
tmblsight_spriteset_map_dispose
end
第二个脚本:Sideview
将4821和4822行反过来放。
alias dispose_spriteset_battle_n03 dispose
def dispose
@effect_sprites.dispose
dispose_spriteset_battle_n03
end
alias dispose_spriteset_battle_n03 dispose
def dispose
@effect_sprites.dispose
dispose_spriteset_battle_n03
end
第三个脚本: RTAB-CP 战斗
这个脚本的dispose方法有严重缺陷,因为并未使用alias而是用了覆盖的方法,而且释放次序还错误!
这导致SideView所创建的Sprite_Weapon无法被释放,而导致了程序崩溃的问题。
将这个脚本里面的dispose替换成下面这个:
alias :rtabcp_dispose :dispose
def dispose
dispose_rtabcp_gauge
rtabcp_dispose
end
alias :rtabcp_dispose :dispose
def dispose
dispose_rtabcp_gauge
rtabcp_dispose
end
就是这样。
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |