查看: 1595|回复: 3

[已经解决] 有关释放图片

  [复制链接]
梦石
0
星屑
50
在线时间
7 小时
注册时间
2009-1-1
回帖
228
发表于 2009-9-20 08:28:21 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 柳飛鷹 于 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的头像,
无法做到两个一起释放……问下咋样才能同时释放全部
补充说明:还有时候都会消失 但是时间不同

小柯的徒弟

梦石
0
星屑
1925
在线时间
1157 小时
注册时间
2008-5-24
回帖
2994

贵宾

发表于 2009-9-20 09:40:43 | 显示全部楼层
因为都放在同个变量里面。生成另一个图片后,前一个图片数据就会等着被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
复制代码
回复

使用道具 举报

梦石
0
星屑
50
在线时间
7 小时
注册时间
2009-1-1
回帖
228
 楼主| 发表于 2009-9-20 10:02:22 | 显示全部楼层
谢谢
楼上的解决了我的问题
回复

使用道具 举报

梦石
0
星屑
50
在线时间
71 小时
注册时间
2009-4-18
回帖
193
发表于 2009-9-20 10:06:33 | 显示全部楼层
我又学到了一点东西!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部