本帖最后由 国产吃货 于 2013-12-25 14:18 编辑
hash 哈希表
作用类同于一个二维数组。
A={"吴莉嘉"=>10,"班尼特"=15}
我定义了一个叫A的hash表,表内有两个数据。
如果我调用,A["班尼特"],那么会返回 15
同理,调用A["吴莉嘉],则会返回10
如果我调用A["伊尔维亚"],由于A里面没有叫伊尔维亚的主键,所以就会返回默认的nil(空)
新增属性其实很简单,只不过RM编辑器只和默认的脚本兼容。
你新增的属性要么自己在脚本里赋值,要么想其他的办法赋值。
比如 好感度。
class Game_Actor < Game_Battler
attr_accessor :friend
alias old_initialize initialize
def initialize( actor_id)
old_initialize( actor_id)
[ url=home.php ?mod=space&uid=69816 ] @friend[ /url] = { }
end
end
class Game_Actor < Game_Battler
attr_accessor :friend
alias old_initialize initialize
def initialize( actor_id)
old_initialize( actor_id)
[ url=home.php ?mod=space&uid=69816 ] @friend[ /url] = { }
end
end
这样就给Actor类添加了一个新的属性,当然这只是创建了一个属性,还没有处理它的方法,
就算这样,他也具备工作能力了。
比如
# 获取好感度
name=$game_actors[ 2 ] .name # 第二个角色的名字
$game_actors [ 1 ] .friend [ name] # 返回一号角色对二号角色的好感度
$game_actors [ 1 ] .friend [ name] =0 if $game_actors [ 1 ] .friend [ name] ==nil
# 设置好感度
name=$game_actors[ 2 ] .name # 第二个角色的名字
p $game_actors [ 1 ] .friend [ name] +=10 # 设置一号角色对二号角色为0
# 获取好感度
name=$game_actors[ 2 ] .name # 第二个角色的名字
$game_actors [ 1 ] .friend [ name] # 返回一号角色对二号角色的好感度
$game_actors [ 1 ] .friend [ name] =0 if $game_actors [ 1 ] .friend [ name] ==nil
# 设置好感度
name=$game_actors[ 2 ] .name # 第二个角色的名字
p $game_actors [ 1 ] .friend [ name] +=10 # 设置一号角色对二号角色为0