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

Project1

 找回密码
 注册会员
搜索
查看: 1955|回复: 3
打印 上一主题 下一主题

[已经解决] 【提问】自己创建的新类怎么释放

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
210 小时
注册时间
2012-7-19
帖子
259
跳转到指定楼层
1
发表于 2014-11-4 21:16:13 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
# Q1

# 例如我写了一个 Fly 类

RUBY 代码复制
  1. class Fly
  2.   def initialize
  3.   end
  4. end


# 然后我该怎么给它定义一个dispose方法用于释放它?

# Q2

# 假如我无论如何也释放不了它,在转场的时候,即Scene切换的时候,这个新类的实例会继续“存在”还是会被回收机制“回收”

# last

# 谢谢大家的指导和指教!o(∩_∩)o

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

4
发表于 2014-11-5 15:47:27 | 只看该作者
1. 除非你主动申请了内存(也就是塞了几个Sprite当成实例变量之类的),否则不需要显式定义析构函数
如果一定要定义自己的析构函数的话,可以使用 ObjectSpace.define_finalizer 方法,详情参见 Ruby 文档。

2. 只要这个对象不被任何东西引用(也就是你怎么弄都获得不了这个对象),那么该对象就会被回收。

点评

谢谢!  发表于 2014-11-6 23:35
是的  发表于 2014-11-6 17:12
谢谢!  发表于 2014-11-6 13:23
你好。我在新的类里添加了Sprite和Bitmap对象,是不是只要把这个类的实例对象中的Sprite和Bitmap释放了,这个实例对象就可以放任不管了?  发表于 2014-11-6 13:23

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
269 小时
注册时间
2014-5-9
帖子
127

开拓者

3
发表于 2014-11-4 22:29:04 | 只看该作者
bitmap,精灵和viewport才需要考虑释放

点评

谢谢!  发表于 2014-11-6 23:41
是的  发表于 2014-11-6 14:49
谢谢!  发表于 2014-11-6 13:24
新定义的类(假设是@fly=Fly.new)里,有sprite和bitmap,是不是只要把新定义的类里的sprite和bitmap释放了就可以不用管这个@fly实例了?  发表于 2014-11-6 13:19
我是指父类Window……也就是Window_Base的释放里的super……  发表于 2014-11-5 11:26

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

泉眼无声惜细流,树阴照水爱晴柔。
小荷才露尖尖角,早有蜻蜓立上头。
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

梦石
0
星屑
2315
在线时间
5539 小时
注册时间
2011-1-10
帖子
6619

青铜编剧史诗剧作家剧作品鉴家

2
发表于 2014-11-4 22:21:35 | 只看该作者
本帖最后由 H·H·Y 于 2014-11-4 22:29 编辑

Q1:
class Fly
  def dispose
    p "A"
  end
end
var = Fly.new
var.disoose
这样就可以了吧?

Q2:
如果是这样
var = Fly.new
var = Tone.new(0, 0, 0, 0)
的话,ABC就变成Tone的实例了吧……

我脚本渣……

点评

我的意思是怎么在dispose里写释放当前类的实例的内容?比如我@fly = Fly.new,然后在使用完后怎么释放它  发表于 2014-11-6 14:18
def dispose换行之后一直到end之前的脚本就是方法内容吧。像上边的p "A"就是dispose方法的内容……  发表于 2014-11-6 13:28
可是dispose内容该怎么写? 谢谢!  发表于 2014-11-6 13:26
谢谢!  发表于 2014-11-6 13:24
def dispose不就是对dispose方法进行定义么_(:з」∠)_虽然我不知道XP跟VA的区别,  发表于 2014-11-6 13:22
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-15 05:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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