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

Project1

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

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2013-9-26
帖子
20
跳转到指定楼层
1
发表于 2013-10-3 13:24:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x

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

点评

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

Lv3.寻梦者

○赛

梦石
0
星屑
1249
在线时间
1276 小时
注册时间
2013-1-22
帖子
2246

贵宾

2
发表于 2013-10-3 17:57:06 | 只看该作者
我劝LZ去拿个XAS研究一下。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33442
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

3
发表于 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 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv2.观梦者

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

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
5
发表于 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技术讨论区手动认可帖,得到答案请认可
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

6
发表于 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
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

开拓者

7
发表于 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:
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
295 小时
注册时间
2013-7-25
帖子
773
8
发表于 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>
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

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

评分

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

查看全部评分

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

使用道具 举报

Lv2.观梦者

会吐槽的画师

梦石
0
星屑
782
在线时间
3431 小时
注册时间
2011-6-10
帖子
6535
10
发表于 2013-10-4 10:54:53 | 只看该作者
事件,获取坐标,运算

点评

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

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 22:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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