Project1

标题: Game_Actors [打印本页]

作者: 冰水金刚    时间: 2014-2-9 21:09
标题: Game_Actors
在Game_Actors类中
RUBY 代码复制
  1. def initialize
  2.     @data = []
  3.   end
  4.   def [](actor_id)
  5.     if actor_id > 999 or $data_actors[actor_id] == nil
  6.       return nil
  7.     end
  8.     if @data[actor_id] == nil
  9.       @data[actor_id] = Game_Actor.new(actor_id)
  10.     end
  11.     return @data[actor_id]
  12.   end

这两段是干什么的?
[]是什么意思?
作者: kuerlulu    时间: 2014-2-9 21:54
正如你看到的def后面的[]是一个方法
参考绿色注释部分,这个方法的使用方式是
  1. $game_actors[id]
复制代码
取出id所指定的角色($game_actor)对象
def initialize是一个默认的初始化方法,它可以接受self.new传递给它的参数【这个即使只是理论但是也是公认的规定
def []用于取出角色对象 上面已经说过了 if actor_id > 999 or $data_actors[actor_id] == nil #如果id超过上限999或这个id中没有角色就返回nil return nil




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1