查看: 5005|回复: 15

[已经过期] 如何判定角色跟NPC之间的范围?

[复制链接]
梦石
0
星屑
50
在线时间
3 小时
注册时间
2013-9-26
回帖
17
发表于 2013-10-3 13:24:39 | 显示全部楼层 |阅读模式

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

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

×
360截图20131003132205000.jpg
如图:就是说角色的位置正前方,上一格前方和下一格前方时,按键攻击敌人
才会有效果。其余的都视为不能击中。请问要判定或者怎么做?

点评

所以有句话就是学好数理化走遍天下都不怕  发表于 2013-10-4 10:05

○赛

梦石
0
星屑
1254
在线时间
1276 小时
注册时间
2013-1-22
回帖
2078

贵宾

发表于 2013-10-3 17:57:06 | 显示全部楼层
我劝LZ去拿个XAS研究一下。
回复

使用道具 举报

梦石
0
星屑
34467
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2013-10-3 21:36:50 | 显示全部楼层
用脚本判断,如果角色与事件的 Y 坐标差的绝对值 小于等于  1 。

点评

X 同上啊  发表于 2013-10-4 08:23
还有X呢……  发表于 2013-10-3 22:36

评分

参与人数 1星屑 +45 收起 理由
myownroc + 45 我很赞同

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

梦石
0
星屑
845
在线时间
579 小时
注册时间
2010-2-15
回帖
1116
发表于 2013-10-3 22:40:42 | 显示全部楼层
如果只有一个NPC的话可以考虑用变量获取NPC和主角的坐标与主角的朝向。然后条件分歧(朝向)再判断NPC坐标是否在合法范围内,再来一个分歧(在合法范围内)再加上要执行的事件就好了

评分

参与人数 1星屑 +60 收起 理由
myownroc + 60 塞糖

查看全部评分

回复

使用道具 举报

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
回帖
3515
发表于 2013-10-3 22:48:05 | 显示全部楼层
条件分歧 x值差值绝对值小于等于1
  条件分歧 角色向左
    条件分歧 (角色y值-NPCy值>0)
      return true
    分歧结束
  分歧结束
  条件分歧 角色向右
    条件分歧 (角色y值-NPCy值<0)
      return true
    分歧结束
  分歧结束
条件分歧 y值差绝对值小于等于1
  条件分歧 角色向上
    条件分歧 (角色x值-NPCx值>0)
      return true
    分歧结束
  分歧结束
  条件分歧 角色向下
    条件分歧 (角色x值-NPCx值<0)
      return true
    分歧结束
  分歧结束
分歧结束

评分

参与人数 1星屑 +75 收起 理由
myownroc + 75 我很赞同

查看全部评分


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

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2013-10-3 23:13:10 | 显示全部楼层
a=$game.map.event[X].x-$game.player[1].x
if a<=0
a*=-1
end

大概就是这样了···

点评

好吧···我有点晕了···我去吃个药瓶···  发表于 2013-10-4 10:03
啊……此外我记得$game.player貌似不用[1],直接$game.player.x就好……的吧?  发表于 2013-10-4 00:14
取绝对值可以直接用:a=($game.map.event[X].x-$game.player[1].x).abs  发表于 2013-10-4 00:12
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
回帖
1643

开拓者

发表于 2013-10-4 08:50:39 | 显示全部楼层
  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是目标的位置坐标

评分

参与人数 1星屑 +60 收起 理由
myownroc + 60 我很赞同

查看全部评分


  -fk: -azogi:
回复

使用道具 举报

梦石
0
星屑
49
在线时间
295 小时
注册时间
2013-7-25
回帖
682
发表于 2013-10-4 09:13:25 | 显示全部楼层
这个问题我已经回答了好多次了!答案就是:不知道!

点评

= =楼主要你算直线距离···不可能不知道的···  发表于 2013-10-4 10:03
可勾搭
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=&site=qq&menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=2::52" alt="点击这里给我发消息" title="点击这里给我发消息"/></a>
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2013-10-4 10:04:52 | 显示全部楼层
楼主如果只是算直线距离的话就可以用上面给出的脚本···如果要算斜线···就是斜线距离=(边²+边²)开方

评分

参与人数 1星屑 +45 收起 理由
myownroc + 45 我很赞同

查看全部评分

[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
782
在线时间
3431 小时
注册时间
2011-6-10
回帖
6325
发表于 2013-10-4 10:54:53 | 显示全部楼层
事件,获取坐标,运算

点评

好水的正确答案…  发表于 2013-10-22 10:32

评分

参与人数 1星屑 +45 收起 理由
myownroc + 45 我很赞同

查看全部评分

长名公主玩家群:372588926 攻略娱乐应有尽有
了解更多新RM游戏,游戏制作请加入RPGmaker支援群:113622890
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部