查看: 2593|回复: 4

[已经解决] 如何清除未被dispose的精灵?

[复制链接]
梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
回帖
1074
发表于 2018-10-11 23:28:27 | 显示全部楼层 |阅读模式

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

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

×
因为脚本设置的关系,生成多个同样的精灵。
到最后消除的时候只能dispose一个精灵。
之前生成的精灵还残留着。
请问如何立即消除清除未被dispose的精灵呢?
一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。
梦石
2
星屑
13779
在线时间
2319 小时
注册时间
2011-6-4
回帖
586
发表于 2018-10-12 06:11:26 | 显示全部楼层
把生成的所有Sprite储存在一个数组中,消除的时候遍历数组每个元素进行消除
BUG反馈请加QQ 529283039
水友群 917854767

回复

使用道具 举报

梦石
1
星屑
23236
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2018-10-12 15:38:46 | 显示全部楼层
  1. class Simple_Spriteset
  2.   def initialize; @list = []; end
  3.   def get *param
  4.     sprite = Sprite.new *param
  5.     @list.push(sprite)
  6.     return sprite
  7.   end
  8.   def dispose; @list.each{|s| s.dispose }; end
  9. end

  10. @set = Simple_Spriteset.new
  11. sprite1 = @set.get('hello')
  12. sprite2 = @set.get('hello')
  13. sprite3 = @set.get('hello')
  14. @set.dispose
复制代码

点评

谢谢前辈,学到了  发表于 2018-10-13 20:06

评分

参与人数 2星屑 +80 赞 +2 收起 理由
RyanBern + 80 + 1 认可答案
文雅夕露 + 1 认可答案

查看全部评分

回复

使用道具 举报

老黄鸡

梦石
4
星屑
45700
在线时间
7948 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2018-10-12 16:08:21 | 显示全部楼层
生成多少个,每个都应该还有变量去存着他,不然就泄漏。
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部