Project1

标题: 如何判断哪个NPC距离2号NPC最近? [打印本页]

作者: 大放异彩    时间: 2019-4-2 18:24
标题: 如何判断哪个NPC距离2号NPC最近?
本帖最后由 大放异彩 于 2019-4-2 18:26 编辑



4-9号NPC是随机移动的,2号NPC也是随机移动的,虽然可以用变量来取得每一个NPC的X Y坐标,但是没办法准确的获取到距离2号NPC最近的是哪个NPC

1、2变量==2号NPC XY坐标
3、4变量==4号NPC XY坐标
5、6变量==5号NPC XY坐标
7、8变量==6号NPC XY坐标
9、10变量==7号NPC XY坐标
11、12变量==8号NPC XY坐标
13、14变量==9号NPC XY坐标

以上虽然可以获取到所有NPC的坐标,但是该如何判断哪个距离2号最近?
用事件脚本 if 对每个变量来判断?可是如何才算是接近2号?然后打开对应的开关,这样就好判断了....可是....我实在不懂怎么计算距离
实在是脑胀了,求各位大佬帮忙~
作者: 灯笼菜刀王    时间: 2019-4-2 18:24
本帖最后由 灯笼菜刀王 于 2019-4-2 19:44 编辑

a = 9999
id = 0
e = $game_map.events
for j in 4..9
  b=(e[j].x-e[2].x).abs+(e[j].y-e[2].y).abs
  if  b < a
     id = j
     a = b
  end
end
$game_variables[1] = id

最后 id 的值就是当前最接近2号的ID 带入变量1号
作者: soulsaga    时间: 2019-4-2 19:08
本帖最后由 soulsaga 于 2019-4-2 19:13 编辑

nxy=[]
a=$game_variables[4]+$game_variables[5]-$game_variables[2]+$game_variables[3]
nxy.push(a.abs)
a=$game_variables[6]+$game_variables[7]-$game_variables[2]+$game_variables[3]
nxy.push(a.abs)
a=$game_variables[8]+$game_variables[9]-$game_variables[2]+$game_variables[3]
nxy.push(a.abs)
a=$game_variables[10]+$game_variables[11]-$game_variables[2]+$game_variables[3]
nxy.push(a.abs)
a=$game_variables[12]+$game_variables[13]-$game_variables[2]+$game_variables[3]
nxy.push(a.abs)
a=$game_variables[14]+$game_variables[15]-$game_variables[2]+$game_variables[3]
nxy.push(a.abs)
$game_variables[100]=nxy.index(nxy.min)
作者: 大放异彩    时间: 2019-4-2 19:32
soulsaga 发表于 2019-4-2 19:08
nxy=[]
a=$game_variables[4]+$game_variables[5]-$game_variables[2]+$game_variables[3]
nxy.push(a.abs) ...



这个5是啥意思?5号距离2号最近吗?可是我已经把他挪到最远了




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