Project1

标题: 怪物开始时随机移动,当主角进入一定范围时加速追击主角 [打印本页]

作者: 桃戊喵喵    时间: 2014-4-21 12:50
标题: 怪物开始时随机移动,当主角进入一定范围时加速追击主角
以前好像看到过讲这个的帖子,但是想用的时候又找不到了{:2_276:}只好开贴问了{:2_253:}
想在地图上设置这样的明雷,要怎么弄呢,直接选接近主角的话主角一进地图就开始追了囧。。。想用坐标什么的设置个条件,但是不会弄{:2_263:}
作者: lanyaolove    时间: 2014-4-21 16:36
  1. #==============================================================================
  2. # ■ Game_Character (接近专定义)
  3. #------------------------------------------------------------------------------
  4. #  处理角色的类。本类作为 Game_Player 类与 Game_Event
  5. # 类的超级类使用。
  6. #==============================================================================
  7. # 使用方法:
  8. # 在设置事件移动那里改为自定义,路线为:toward_player_add(x范围,y范围)
  9. #==============================================================================
  10. class Game_Character
  11. def toward_player_add(x = 1,y = 1)
  12. last_speed = @move_speed
  13. # 求得与主角坐标的差
  14. sx = (@x - $game_player.x).abs
  15. sy = (@y - $game_player.y).abs
  16. if sx <= x and sy <= y
  17. move_toward_player
  18. else
  19. move_random
  20. end
  21. @move_speed = last_speed
  22. end
  23. end
复制代码

作者: yychchhh    时间: 2014-4-21 18:12
获取怪物坐标和主角坐标给四个变量,再在怪兽的xy上添上一个距离,然后对比主角是不是在此内的数值范围,再更改移动速度和频率,并且设置靠近主角。
作者: H·H·Y    时间: 2014-4-22 00:07
纯事件二重范围判定,角色x大于怪物x-4小于怪物x+4;角色y大于怪物y-4小于怪物y+4为接近,角色x等于怪物x-1或小于怪物x+1;角色y等于怪物y-1或小于怪物y+1为开启战斗。。。
作者: guoyq1988    时间: 2014-4-22 23:16
  1. #==============================================================================
  2. # 本脚本来自http://www.66rpg.com/,使用和转载请保留此信息
  3. #==============================================================================
  4. $响应范围 = 8
  5. class Game_Character
  6.   def move_type_toward_player
  7.     # 求得与主角坐标的差
  8.     sx = @x - $game_player.x
  9.     sy = @y - $game_player.y
  10.     # 求得差的绝对值
  11.     abs_sx = sx > 0 ? sx : -sx
  12.     abs_sy = sy > 0 ? sy : -sy
  13.     # 如果纵横共计离开 $响应范围 的次方 个元件
  14.     if abs_sx + abs_sy >= $响应范围
  15.       if @id == $npc1id
  16.         $npc1again = true
  17.       end
  18.       # 随机
  19.       move_random
  20.       return
  21.     end
  22.     # 随机 0~4 的分支
  23.     case rand(5)
  24.     when 0..3  # 接近主角
  25.       move_toward_player
  26.     when 4  # 随机
  27.       move_random
  28.     end
  29.   end
  30. end


  31. #==============================================================================
  32. # 本脚本来自http://www.66rpg.com/,使用和转载请保留此信息
  33. #==============================================================================
复制代码

作者: Shadow_    时间: 2014-4-23 08:18
3L + 并行处理




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