Project1

标题: 新人再次求教!不知道以下代码什么意思,请高人指教 [打印本页]

作者: zzlovexx66    时间: 2013-5-14 18:43
标题: 新人再次求教!不知道以下代码什么意思,请高人指教
# ● Execute Animation Plus Hit
  #--------------------------------------------------------------------------           
  def execute_animation_plus_hit(item)
      return if item == nil
      return if !SceneManager.scene_is?(Scene_Battle)
      self.animation_id = $1.to_i if item.note =~ /<Hit Animation = (\d+)>/i   
      if self.dead?
         if self.is_a?(Game_Enemy)
            battler = $data_enemies[self.enemy_id]
         else
            battler = $data_actors[self.id]
         end  
         self.animation_id = $1.to_i if battler.note =~ /<Death Animation = (\d+)>/i
      end
  end

如是,这段代码大致的意思是什么?用来定义什么的,有高人清楚么?
作者: j433463    时间: 2013-5-14 19:17
本帖最后由 j433463 于 2013-5-14 19:21 编辑

RUBY 代码复制
  1. # ● Execute Animation Plus Hit
  2.   #--------------------------------------------------------------------------           
  3.   def execute_animation_plus_hit(item) #定义 execute_animation_plus_hit 并且有一个参数 item
  4.       return if item == nil #如果 item = nil,也就是物品不存在,那么就 return 跳回
  5.       return if !SceneManager.scene_is?(Scene_Battle) #如果当前场景是战斗场景就 return 跳回
  6.       self.animation_id = $1.to_i if item.note =~ /<Hit Animation = (\d+)>/i #如果物品备注栏中有 <hit Animation = 数字> 标签则 animation_id 的值是整数的这个数字
  7.       if self.dead? #若已死亡
  8.          if self.is_a?(Game_Enemy) #若阵列中有 Game_Enemy 即敌人的资料,意思就是如果这个敌人是存在的
  9.             battler = $data_enemies[self.enemy_id] #battler 的值为指定敌人id 的数据
  10.          else #否则
  11.             battler = $data_actors[self.id] #battler 的值为指定角色id 的数据
  12.          end #if条件的结束标签
  13.          self.animation_id = $1.to_i if battler.note =~ /<Death Animation = (\d+)>/i #如果战斗者的备注栏中有 <Death Animation = 数字> 这样的标签,则 animation_id 的值是这数字的整数
  14.       end #if条件的结束标签
  15.   end #def定义的结束标签


大概就是这样的意思...




.
作者: zzlovexx66    时间: 2013-5-14 19:45
感谢狮子哥!
作者: j433463    时间: 2013-5-14 19:54
修正一下
  1.       return if !SceneManager.scene_is?(Scene_Battle) #如果当前场景是战斗场景就 return 跳回
复制代码
这个我注释错了,因为没注意到 SceneManager 前面的 ! 符号,正确的注释是 如果当前场景是战斗场景就 return 跳回




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