状况截图(故障模块名称、时间戳、异常代码会有很大不同):
发生的原因:
1. 通过特殊的脚本对内存进行了不妥当的修改
2. 调用外部dll的方式不正确
3. 异常的Sprite泄漏
4. 其他尚不明确的原因
针对第三点:
游戏从上一个场景,例如地图场景,新建了某个sprite后,经过Graphics.transition后并未释放,在win7以上的系统就可能引起异常。有一段简易的排除方法,放在场景切换的时候就可以避免这个bug产生,但并不适用所有情况,
ObjectSpace.each_object do |obj| if obj.is_a?(Sprite) && obj.disposed? == false obj.dispose end end