本帖最后由 国产吃货 于 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  
 
  
  |