Project1

标题: 【提问】自己创建的新类怎么释放 [打印本页]

作者: ORANGI    时间: 2014-11-4 21:16
标题: 【提问】自己创建的新类怎么释放
# Q1

# 例如我写了一个 Fly 类

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


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

# Q2

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

# last

# 谢谢大家的指导和指教!o(∩_∩)o
作者: H·H·Y    时间: 2014-11-4 22:21
本帖最后由 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的实例了吧……

我脚本渣……
作者: 泉塚四季    时间: 2014-11-4 22:29
bitmap,精灵和viewport才需要考虑释放
作者: taroxd    时间: 2014-11-5 15:47
1. 除非你主动申请了内存(也就是塞了几个Sprite当成实例变量之类的),否则不需要显式定义析构函数
如果一定要定义自己的析构函数的话,可以使用 ObjectSpace.define_finalizer 方法,详情参见 Ruby 文档。

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




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