设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1488|回复: 5
打印 上一主题 下一主题

[已经过期] 怪物开始时随机移动,当主角进入一定范围时加速追击主角

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
23 小时
注册时间
2013-8-30
帖子
27
跳转到指定楼层
1
发表于 2014-4-21 12:50:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
以前好像看到过讲这个的帖子,但是想用的时候又找不到了{:2_276:}只好开贴问了{:2_253:}
想在地图上设置这样的明雷,要怎么弄呢,直接选接近主角的话主角一进地图就开始追了囧。。。想用坐标什么的设置个条件,但是不会弄{:2_263:}

Lv3.寻梦者

梦石
0
星屑
1532
在线时间
16 小时
注册时间
2012-12-19
帖子
2
6
发表于 2014-4-23 08:18:17 | 只看该作者
3L + 并行处理
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
439 小时
注册时间
2013-3-2
帖子
710
5
发表于 2014-4-22 23:16:59 | 只看该作者
  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. #==============================================================================
复制代码

   
【RMXP共享】50个脚本整合的系统
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

梦石
0
星屑
2315
在线时间
5539 小时
注册时间
2011-1-10
帖子
6619

青铜编剧史诗剧作家剧作品鉴家

4
发表于 2014-4-22 00:07:07 | 只看该作者
纯事件二重范围判定,角色x大于怪物x-4小于怪物x+4;角色y大于怪物y-4小于怪物y+4为接近,角色x等于怪物x-1或小于怪物x+1;角色y等于怪物y-1或小于怪物y+1为开启战斗。。。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1444
在线时间
1592 小时
注册时间
2010-11-6
帖子
3193

贵宾

3
发表于 2014-4-21 18:12:21 手机端发表。 | 只看该作者
获取怪物坐标和主角坐标给四个变量,再在怪兽的xy上添上一个距离,然后对比主角是不是在此内的数值范围,再更改移动速度和频率,并且设置靠近主角。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
94
在线时间
648 小时
注册时间
2009-2-3
帖子
238
2
发表于 2014-4-21 16:36:11 | 只看该作者
  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
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-29 01:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表