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

Project1

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

[已经解决] 增加新变量

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2010-7-26
帖子
41
跳转到指定楼层
1
发表于 2010-8-11 22:52:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 majx0404 于 2010-8-12 20:37 编辑

如题,我想给武器增加一个新变量
而且希望它记录在$data_weapon里面
应该怎么做?
我直接打
module RPG
  class Weapon
    def initialize
      @新变量 = []
    end
    attr_accessor :新变量
  end
end
有办法加进去吗??

Lv2.观梦者

旅之愚者

梦石
0
星屑
275
在线时间
812 小时
注册时间
2007-7-28
帖子
2148

贵宾

2
发表于 2010-8-12 07:21:10 | 只看该作者
回复 majx0404 的帖子
你好大的胆子呀,直接把默认的initialize替换掉了
应该先alias的
  1. alias :origin_initialize :initialize
  2. def initialize
  3. origin_initialize
  4. @新变量 = []
  5. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

尽头

梦石
0
星屑
119
在线时间
278 小时
注册时间
2010-6-20
帖子
1280
3
发表于 2010-8-12 07:30:29 | 只看该作者
不懂alias的路过.....
我不明白用alias 后面:的后面为什么那么长.........

点评

我不看F1的 - -,,  发表于 2010-8-12 08:37
这个是为了命名更容易看懂  发表于 2010-8-12 08:35
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2010-7-26
帖子
41
4
 楼主| 发表于 2010-8-12 08:07:33 | 只看该作者
都忘记这件事了,谢谢提醒@@
帮解说一下 Alias是用新方法取代原方法
alias : origin_initialize :initialize
以后initialize就被original initialize取代了
为什么这样做?因为同一个类中有相同方法的话
旧的会被新的盖掉,所以先把旧的用取代法改名,再重新定义一个initialize
def initialize
xxxxxx
xxxxxx
origin_initialize
end

中间把刚刚的initialize叫回来,就相当于在原本的def initialize上面加上两行xxxxxx了

点评

不是取代,是取别名,origin_initialize会指向initialize方法的位置  发表于 2010-8-12 08:31
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2010-7-26
帖子
41
5
 楼主| 发表于 2010-8-12 09:25:19 | 只看该作者
还是有个问题….这样定义下的叫出的值都是nil
例如 $data_weapons[@weapon_id].hit_plus == nil
不是undefinded method 是nil
不晓得怎么回事 = =
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
288
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

6
发表于 2010-8-12 09:27:16 | 只看该作者
回复 majx0404 的帖子

RPG 模块不会执行 initialize 方法,因为它是从文件中加载实例的,而不是生成的。

需要另外的函数来手动调用完成初始化。

点评

F1 里有说明~~  发表于 2010-8-12 10:17
原来如此 难怪找不到脚本参考  发表于 2010-8-12 10:11
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 20:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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