| 
 
| 赞 | 5 |  
| VIP | 620 |  
| 好人卡 | 38 |  
| 积分 | 70 |  
| 经验 | 125468 |  
| 最后登录 | 2015-7-27 |  
| 在线时间 | 1666 小时 |  
 Lv4.逐梦者 
	梦石0 星屑6955 在线时间1666 小时注册时间2008-10-29帖子6710 
 | 
| 本帖最后由 后知后觉 于 2011-11-5 22:31 编辑 
 函数最后如果没有设置 return 返回值 会用该函数内最后一次的运算的值作为返回值.
 函数的命名 在结尾处可以用 ? 和 !
 带 ? 号的一般表示该函数返回的是 true/false
 带 ! 号的一般表示该函数具有破坏性
 还可以用 []  []= 作为函数名(Array类 Game_Switches类 Game_Variables类 都有)
 关于返回值还有一个例外情况 当定义的函数名最后是 = 号的情况
 返回值一定是该函数的参数.就算该函数设置了返回值 return xxx
 但这样的函数的返回值还是传递给他的参数.
 你帖的那 effect? 的定义是 RPG::Sprite 类里的复制代码class ABC
  def initialize
    @a = 2
  end
  def a
    @a
  end
  def a=(a)
    @a = a
    return 999
  end
end
b = ABC.new
p b.a = 5  # 显示 5 而不是 999
exit
这东西就是判断实例对象的 闪烁白光、红光啊动画播放啊什么的效果是否正在进行中.
 这个主要就是拦截 Scene_Battle 4 里定义的那些东西的调用
 | 
 |