Project1

标题: 有关释放图片 [打印本页]

作者: 柳飛鷹    时间: 2009-9-20 08:28
标题: 有关释放图片
本帖最后由 柳飛鷹 于 2009-9-20 08:38 编辑
  1.     for i in 0...$game_party.actors.size
  2.       actor = $game_party.actors[i]
  3.     @overhead = Sprite.new
  4.     @overhead.bitmap = Bitmap.new("Graphics/system/battle/overhead/"+actor.name.to_s+".png")
  5.     @overhead.x = 150
  6.     @overhead.y = i*60+42
  7.     @overhead.z = 9999
复制代码
我释放这个图片,    @overhead.dispose,结果只是释放了角色1或角色2的头像,
无法做到两个一起释放……问下咋样才能同时释放全部
补充说明:还有时候都会消失 但是时间不同

作者: 「旅」    时间: 2009-9-20 09:40
因为都放在同个变量里面。生成另一个图片后,前一个图片数据就会等着被GC清理。一般是用数组来存放多个图片的。
  1.     @overhead = []
  2.     for i in 0...$game_party.actors.size
  3.       actor = $game_party.actors[i]
  4.     @overhead[i] = Sprite.new
  5.     @overhead[i].bitmap = Bitmap.new("Graphics/system/battle/overhead/"+actor.name.to_s+".png")
  6.     @overhead[i].x = 150
  7.     @overhead[i].y = i*60+42
  8.     @overhead[i].z = 9999
  9. end
复制代码
然后释放的时候
  1. for i in @overhead
  2.   i.dispose
  3. end
复制代码

作者: 柳飛鷹    时间: 2009-9-20 10:02
谢谢
楼上的解决了我的问题
作者: 大东    时间: 2009-9-20 10:06
我又学到了一点东西!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1