Project1

标题: 追逐战时,鼠标移动玩家一直按着,接触了怪无法触发事件 [打印本页]

作者: asd2726723    时间: 2024-1-2 03:21
标题: 追逐战时,鼠标移动玩家一直按着,接触了怪无法触发事件
本帖最后由 asd2726723 于 2024-1-2 08:53 编辑

做恐解的追逐战,但是发现鼠标玩家只要一直按着移动,怪碰到玩家,玩家就一直和怪上下来回移动,触发不了掉血或者死亡的事件,除了禁用鼠标.还能怎么解决呢
作者: Fan723    时间: 2024-1-2 08:12
玩家移动速度设置慢、怪的速度设置最快还追不上吗?
作者: asd2726723    时间: 2024-1-2 08:25
Fan723 发表于 2024-1-2 08:12
玩家移动速度设置慢、怪的速度设置最快还追不上吗?

不是移动速度的问题,是碰到了,但只要玩家鼠标还在点,玩家就还是不会死
作者: pkeasygod    时间: 2024-1-2 08:42
你是说鼠标移动比较快 还是 鼠标按着会令事件失效?
如果是移动速度问题 是因为鼠标默认冲刺 在地图把冲刺禁用就可以了
作者: asd2726723    时间: 2024-1-2 08:47
pkeasygod 发表于 2024-1-2 08:42
你是说鼠标移动比较快 还是 鼠标按着会令事件失效?
如果是移动速度问题 是因为鼠标默认冲刺 在地图把冲刺禁 ...

是事件会失效....就是碰到怪了,但是会来回移动,不会触发死亡或者掉血
作者: pkeasygod    时间: 2024-1-2 08:56
asd2726723 发表于 2024-1-2 08:47
是事件会失效....就是碰到怪了,但是会来回移动,不会触发死亡或者掉血

我测试没问题
你可以尝试开一个新的工程文件
看是你设定问题还是插件导致
作者: asd2726723    时间: 2024-1-2 09:04
pkeasygod 发表于 2024-1-2 08:56
我测试没问题
你可以尝试开一个新的工程文件
看是你设定问题还是插件导致 ...

没任何插件哦,就是鼠标玩追逐战碰到怪会上下移动,我加你QQ发个视频帮我看看可以吗
作者: pkeasygod    时间: 2024-1-2 09:37
你是用玩家接触?改用剧情接触试试
作者: wupeng    时间: 2024-1-2 16:30
这个应该不是鼠标的问题,掉血死亡事件没有触发吧
作者: 涂鸦boy    时间: 2024-1-3 01:33
本帖最后由 涂鸦boy 于 2024-1-3 01:53 编辑

最基础的方法, 将事件优先级改为「玩家接触」,这样无需按键, 怪物事件和玩家接触时就会触发事件中的内容


假如你已经这么做了, 但怪物还是在玩家身边徘徊
可以尝试我的事件农场中用脚本写的接触判定条件, 脚本比 MZ 默认的「玩家接触」更灵敏

把怪物事件触发条件改成「并行处理」,在事件中添加一个判断,条件使用脚本
这个稍微修改过, 事件农场中要求在范围内按下ok键,
以下脚本玩家和事件只要接近就成立, 脚本如下
  1. $gamePlayer.x >= $gameMap.event(this._eventId).x - 1 && $gamePlayer.x <= $gameMap.event(this._eventId).x + 1 && $gamePlayer.y >= $gameMap.event(this._eventId).y - 1 && $gamePlayer.y <= $gameMap.event(this._eventId).y + 1
复制代码


还有一种判定方法, 同样怪物事件「并行处理」, 并将优先级改为「在玩家下方」
这种方式玩家和怪物完全重叠时, 条件成立
  1. $gamePlayer.x === $gameMap.event(this._eventId).x && $gamePlayer.y === $gameMap.event(this._eventId).y
复制代码





也许你会问握哪种方式更好, 我想这需要你尝试了之后看哪种更适合你的玩法和你想要的视觉效果

我有写四种判定范围范例, 四种分别如下图顶部所示, 以上脚本是第一种判定范围, 需要其他的可以下载工程复制里面的方法
https://rpg.blue/thread-494882-1-1.html

[attach]402911[/attach]




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