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

Project1

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

[已经解决] 关于实例的释放问题.

[复制链接]

Lv2.观梦者

梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
帖子
969
跳转到指定楼层
1
发表于 2013-3-16 03:52:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 jhhuang 于 2013-3-18 11:32 编辑
  1.   # 重新设置敌人队伍
  2.   def new_troop
  3.     @ e = [nil]
  4.     for i in 1..$data_enemies.size
  5.       @e.push []
  6.       for n in 0..24
  7.         @e[i][n] = RPG::Troop::Member.new(i)
  8.       end
  9.     end
  10.     $data_troops[1].members =
  11.     [nil        ,@e[100][0] ,nil        ,nil        ,nil        ,
  12.      nil        ,@e[100][1] ,@e[100][2] ,nil        ,nil        ,
  13.      nil        ,@e[100][3] ,nil        ,nil        ,nil        ,
  14.      nil        ,nil        ,nil        ,@e[100][4] ,nil        ,
  15.      nil        ,nil        ,nil        ,nil        ,nil        ]
  16. ...
  17. ...
复制代码

为了突破默认工程只能使用几只怪物的限制,在脚本里设置了敌人队伍数据.
生成出来的RPG::Troop::Member.new队伍成员数据的实例如何释放?需要释放吗?     

Lv2.观梦者

梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
帖子
969
2
 楼主| 发表于 2013-3-16 16:00:23 | 只看该作者
RPG::Troop::Member类本身不存在释放方法,所以
        @e[n] = RPG::Troop::Member.new(i)
        @e[n].dispose
会出错.
  1. module RPG
  2.   class Troop
  3.     class Member
  4.       def initialize
  5.         @enemy_id = 1
  6.         @x = 0
  7.         @y = 0
  8.         [url=home.php?mod=space&uid=292300]@Hidden[/url] = false
  9.         @immortal = false
  10.       end
  11.       attr_accessor :enemy_id
  12.       attr_accessor :x
  13.       attr_accessor :y
  14.       attr_accessor :hidden
  15.       attr_accessor :immortal
  16.     end
  17.   end
  18. end
复制代码
那么自己在这个类里写释放方法:
def dispose
end
需要释放些什么东西呢...里面有的只有5个变量...
在@e[n] = RPG::Troop::Member.new(i)取得这些变量后.
是否@e[n] = nil 就相当于把实例释放干净了?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 00:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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