alianlord 发表于 2022-4-27 08:31 要看看动画脚本的写法了。 可能是有意或无意没有释放位图。 有意不释放是为了保证画面流畅,但是数量多了就会炸。 无意的那就单纯是脚本作者没写释放,可能是能力不足也可能是忘记了之类。 |
KB.Driver 发表于 2022-4-26 23:59 就如所言,我的工程问题就是使用了动画脚本,累积到了一定数目,就无法生成新的空位图而弹窗了。 就没办法解决空位图过多的现像吗? 谢谢 |
alianlord 发表于 2022-4-26 23:00 不好意思,最重要的脚本我忘记贴了。 class Bitmap @@count = 0 alias initialize_no_count initialize def initialize(*a) @@count += 1 puts "位图数量:#{@@count}" initialize_no_count(*a) end alias dispose_no_count dispose def dispose @@count -= 1 puts "位图数量:#{@@count}" dispose_no_count end end |
KB.Driver 发表于 2022-4-26 22:23 非常有帮助,谢谢。 |
alianlord 发表于 2022-4-26 22:05 那看来这个错误捕获不到,要开控制台才行。 控制台在这里开,然后从工程里测试游戏。 测试之前把刚才的地方复原一下,找个空白位置粘贴这个脚本 总的来说,大的位图用的太多是会这样的。 测试事件: 炸了: |
参与人数 1 | 星屑 +150 | 赞 +1 | 收起 理由 |
---|---|---|---|
alexncf125 | + 150 | + 1 | 非常有帮助,谢谢。 |
KB.Driver 发表于 2022-4-26 21:00 马上试验 |
把100行对应的方法改成这个然后看下输出、截图? 这段代码可以计算到100行这段出错为止总共运行了多少次生成新位图的方法。 def self.empty_bitmap @n=(@n||0)+1 Bitmap.new(32, 32) rescue msgbox @n raise end |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-1 11:31
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.