Project1

标题: 如何判定角色跟NPC之间的范围? [打印本页]

作者: 机器骑士    时间: 2013-10-3 13:24
标题: 如何判定角色跟NPC之间的范围?

如图:就是说角色的位置正前方,上一格前方和下一格前方时,按键攻击敌人
才会有效果。其余的都视为不能击中。请问要判定或者怎么做?
作者: 天地有正气    时间: 2013-10-3 17:57
我劝LZ去拿个XAS研究一下。
作者: 芯☆淡茹水    时间: 2013-10-3 21:36
用脚本判断,如果角色与事件的 Y 坐标差的绝对值 小于等于  1 。
作者: 315038639    时间: 2013-10-3 22:40
如果只有一个NPC的话可以考虑用变量获取NPC和主角的坐标与主角的朝向。然后条件分歧(朝向)再判断NPC坐标是否在合法范围内,再来一个分歧(在合法范围内)再加上要执行的事件就好了
作者: Wind2010    时间: 2013-10-3 22:48
条件分歧 x值差值绝对值小于等于1
  条件分歧 角色向左
    条件分歧 (角色y值-NPCy值>0)
      return true
    分歧结束
  分歧结束
  条件分歧 角色向右
    条件分歧 (角色y值-NPCy值<0)
      return true
    分歧结束
  分歧结束
条件分歧 y值差绝对值小于等于1
  条件分歧 角色向上
    条件分歧 (角色x值-NPCx值>0)
      return true
    分歧结束
  分歧结束
  条件分歧 角色向下
    条件分歧 (角色x值-NPCx值<0)
      return true
    分歧结束
  分歧结束
分歧结束
作者: chd114    时间: 2013-10-3 23:13
a=$game.map.event[X].x-$game.player[1].x
if a<=0
a*=-1
end

大概就是这样了···
作者: kuerlulu    时间: 2013-10-4 08:50
  1. #——————————————————————
  2. #  判断某物体离角色距离
  3. #——————————————————————
  4. class Game_Player
  5.   def distance(x,y)
  6.     return (@x-x).abs + (@y-y).abs
  7.   end
  8. end
复制代码
原理和LS是一样的,但是直接定义到脚本编辑器估计会容易调用一些
获取距离的方法(可以直接写入脚本编辑器或事件-脚本)$game_player.distance(x,y)#其中x,y是目标的位置坐标
作者: wyx1021145812    时间: 2013-10-4 09:13
这个问题我已经回答了好多次了!答案就是:不知道!
作者: chd114    时间: 2013-10-4 10:04
楼主如果只是算直线距离的话就可以用上面给出的脚本···如果要算斜线···就是斜线距离=(边²+边²)开方
作者: 上贺茂润    时间: 2013-10-4 10:54
事件,获取坐标,运算
作者: Sonic1997    时间: 2013-10-4 12:14
http://urpgs.com/thread-1109-1-1.html
  1. disx =  坐标X1 - 坐标X2
  2. disy =  坐标Y1 - 坐标Y2
  3. dis = Math.sqrt( disx ** 2 + disy ** 2 )
复制代码
这是我的解决方案.w.
作者: 机器骑士    时间: 2013-10-4 12:26
kuerlulu 发表于 2013-10-4 08:50
原理和LS是一样的,但是直接定义到脚本编辑器估计会容易调用一些
获取距离的方法(可以直接写入脚本编辑器或 ...

目标的位置坐标是随机移动的又应该怎么写?
作者: 机器骑士    时间: 2013-10-4 12:43
Sonic1997 发表于 2013-10-4 12:14
http://urpgs.com/thread-1109-1-1.html这是我的解决方案.w.

这个计算距离的方法很不错
但是我只想计算范围,并不想做距离的计算
作者: Sonic1997    时间: 2013-10-5 05:32
机器骑士 发表于 2013-10-3 20:43
这个计算距离的方法很不错
但是我只想计算范围,并不想做距离的计算

范围. .?
和距离不是一样吗?
你指的是判断是否在一定范围内?
那么可以不需要用到sqrt之类的东西
例如如果要在范围4以内,就检查x²+y²是否等于16就可以了
作者: 紫英晓狼1130    时间: 2013-10-5 06:20
LZ是不是要明雷战斗啊?能判断范围的明雷脚本已经有了…
作者: yagami    时间: 2013-10-6 00:51
sqrt ((x1-x2)^2 + (y1-y2)^2)




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