Project1

标题: 为什么我这段脚本里shoot(176)这段会被连续执行 [打印本页]

作者: yang1zhi    时间: 2016-2-8 22:22
标题: 为什么我这段脚本里shoot(176)这段会被连续执行
SHOOT执行后不是应该执行等待120贞吗

RUBY 代码复制
  1. def move_type_toward_event(event_id, sight = 20, ai = 6)
  2.     # 指定自身的情况下不执行动作
  3.     if event_id == self.id
  4.       return
  5.     end
  6.     # 求得与主角坐标的差
  7.     sx = @x - $game_map.events[event_id].x
  8.     sy = @y - $game_map.events[event_id].y
  9.     # 求得差的绝对值
  10.     abs_sx = sx > 0 ? sx : -sx
  11.     abs_sy = sy > 0 ? sy : -sy
  12.     # 如果方圆超过了视野
  13.     if abs_sx ** 2 + abs_sy ** 2 >= sight ** 2
  14.       return
  15.     end
  16.     if abs_sx <= 1 and abs_sy <= 1
  17.       shoot(176)
  18.       @wait_count = 120
  19.     end
  20.         # 横距离与纵距离相等的情况下
  21.     if abs_sx == abs_sy
  22.       # 随机将边数增加 1
  23.       rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
  24.     end
  25.     # 横侧距离长的情况下
  26.     if abs_sx > abs_sy
  27.       # 左右方向优先。向事件移动
  28.       sx > 0 ? move_left : move_right
  29.       if not moving? and sy != 0
  30.         sy > 0 ? move_up : move_down
  31.       end
  32.     # 竖侧距离长的情况下
  33.     else
  34.       # 上下方向优先。向事件移动
  35.       sy > 0 ? move_up : move_down
  36.       if not moving? and sx != 0
  37.         sx > 0 ? move_left : move_right
  38.       end
  39.     end
  40.  
  41.       end

作者: 紫英晓狼1130    时间: 2016-2-9 16:21
只把@wait_count代入一个值是没有用的
比如我妈妈给我120元钱,我不花,那我永远有120元钱
需要在update里把这个变量-1,当这个变量为0时,再进行以下内容




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