Project1
标题:
关于实例的释放问题.
[打印本页]
作者:
jhhuang
时间:
2013-3-16 03:52
标题:
关于实例的释放问题.
本帖最后由 jhhuang 于 2013-3-18 11:32 编辑
# 重新设置敌人队伍
def new_troop
@ e = [nil]
for i in 1..$data_enemies.size
@e.push []
for n in 0..24
@e[i][n] = RPG::Troop::Member.new(i)
end
end
$data_troops[1].members =
[nil ,@e[100][0] ,nil ,nil ,nil ,
nil ,@e[100][1] ,@e[100][2] ,nil ,nil ,
nil ,@e[100][3] ,nil ,nil ,nil ,
nil ,nil ,nil ,@e[100][4] ,nil ,
nil ,nil ,nil ,nil ,nil ]
...
...
复制代码
为了突破默认工程只能使用几只怪物的限制,在脚本里设置了敌人队伍数据.
生成出来的RPG::Troop::Member.new队伍成员数据的实例如何释放?需要释放吗?
作者:
jhhuang
时间:
2013-3-16 16:00
RPG::Troop::Member类本身不存在释放方法,所以
@e
[n] = RPG::Troop::Member.new(i)
@e
[n].dispose
会出错.
module RPG
class Troop
class Member
def initialize
@enemy_id = 1
@x = 0
@y = 0
[url=home.php?mod=space&uid=292300]@Hidden[/url] = false
@immortal = false
end
attr_accessor :enemy_id
attr_accessor :x
attr_accessor :y
attr_accessor :hidden
attr_accessor :immortal
end
end
end
复制代码
那么自己在这个类里写释放方法:
def dispose
end
需要释放些什么东西呢...里面有的只有5个变量...
在@e
[n] = RPG::Troop::Member.new(i)取得这些变量后.
是否@e
[n] = nil 就相当于把实例释放干净了?
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1