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

Project1

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

[已经解决] RMXP用寻路脚本(使NPC接近主角)

[复制链接]

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
1
发表于 2015-2-15 20:43:04 | 显示全部楼层
本帖最后由 Wind2010 于 2015-2-16 23:31 编辑
lianran123456 发表于 2015-2-16 17:01
可是我按照他所说的
    astr = AStar.new($game_map)
    astr.set_origin($game_player.x, $game_playe ...


set_origin里的是起始点,set_target才是终点,应该写成:
  1.     astr = AStar.new($game_map)
  2.     astr.set_origin($game_map.events[@event_id].x,$game_map.events[@event_id].y)
  3.     astr.set_target($game_player.x,$game_player.y)
  4.     path = astr.do_search
复制代码
然后后面调用句$game_map.events[@event_id].move_dr(path[0])
关于move_dr的定义:
  1. class Game_Character
  2.   def move_dr(dr)
  3.     case dr
  4.     when 1
  5.       move_lower_left
  6.     when 2
  7.       move_down
  8.     when 3
  9.       move_lower_right
  10.     when 4
  11.       move_left
  12.     when 6
  13.       move_right
  14.     when 7
  15.       move_upper_left
  16.     when 8
  17.       move_up
  18.     when 9
  19.       move_upper_right
  20.     else
  21.       move_toward_game_player
  22.     end
  23.   end
  24. end
复制代码


随便做了个范例,参考下吧

Project3.rar

188.99 KB, 下载次数: 124

点评

请问$game_map.events[@id].move_dr(path[0])是加在path = astr.do_search后面下一行吗?  发表于 2015-2-16 22:48
"关于move_dr的定义"这一段应该放在哪里?  发表于 2015-2-16 22:47

评分

参与人数 1星屑 +66 收起 理由
lianran123456 + 66 感激不尽!

查看全部评分


http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-21 05:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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