设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

请教这个弹窗故障可能发生的原因

查看数: 1622 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-4-26 20:00

正文摘要:

本帖最后由 alianlord 于 2022-4-26 20:01 编辑 请教这个弹窗故障可能发生的原因。空位图建立不了,怎么可能呢?

回复

KB.Driver 发表于 2022-4-27 21:38:07
alianlord 发表于 2022-4-27 08:31
就如所言,我的工程问题就是使用了动画脚本,累积到了一定数目,就无法生成新的空位图而弹窗了。

就没办 ...

要看看动画脚本的写法了。
可能是有意或无意没有释放位图。
有意不释放是为了保证画面流畅,但是数量多了就会炸。
无意的那就单纯是脚本作者没写释放,可能是能力不足也可能是忘记了之类。
alianlord 发表于 2022-4-27 08:31:14
KB.Driver 发表于 2022-4-26 23:59
不好意思,最重要的脚本我忘记贴了。

class Bitmap

就如所言,我的工程问题就是使用了动画脚本,累积到了一定数目,就无法生成新的空位图而弹窗了。

就没办法解决空位图过多的现像吗?

谢谢
KB.Driver 发表于 2022-4-26 23:59:10
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
alianlord 发表于 2022-4-26 23:00:07
KB.Driver 发表于 2022-4-26 22:23
那看来这个错误捕获不到,要开控制台才行。

非常有帮助,谢谢。
KB.Driver 发表于 2022-4-26 22:23:05

那看来这个错误捕获不到,要开控制台才行。



控制台在这里开,然后从工程里测试游戏。
测试之前把刚才的地方复原一下,找个空白位置粘贴这个脚本

总的来说,大的位图用的太多是会这样的。
测试事件:


炸了:

点评

总的来说,创建不了位图无非几种情况。1、位图的宽或高至少一个为0。2、位图尺寸太大。3、RM可用的内存不足(使用中的位图太多)  发表于 2022-4-26 22:24

评分

参与人数 1星屑 +150 +1 收起 理由
alexncf125 + 150 + 1 非常有帮助,谢谢。

查看全部评分

alianlord 发表于 2022-4-26 21:50:52
KB.Driver 发表于 2022-4-26 21:00
把100行对应的方法改成这个然后看下输出、截图?
这段代码可以计算到100行这段出错为止总共运行了多少次生 ...

马上试验
KB.Driver 发表于 2022-4-26 21:00:02
把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.

快速回复 返回顶部 返回列表