Project1

标题: 如何让事件一接触玩家就触发 [打印本页]

作者: 造小梦    时间: 2021-7-22 23:43
标题: 如何让事件一接触玩家就触发
本帖最后由 造小梦 于 2021-7-23 00:30 编辑

如图,我设置了一个这样的事件,事件来回移动,只要碰到玩家就会触发扣血,但在实际测试的时候经常出现接触了但没有触发的情况,无论是玩家接触还是事件接触玩家在移动甚至停止时都有大概率不会触发事件,这是怎么回事?求大佬解答

作者: sxjkjly8010    时间: 2021-7-22 23:43
本帖最后由 sxjkjly8010 于 2021-7-23 02:07 编辑

可以在每次移动的时候用脚本插入$game_player.check_touch_event,保证触发就是有点烦

扣除血量记得调一下,本质算触发了两次
作者: 造小梦    时间: 2021-7-23 00:18
为什么我无法添加图片???
作者: 造小梦    时间: 2021-7-23 00:30
造小梦 发表于 2021-7-23 00:18
为什么我无法添加图片???

好吧是我电脑出问题了
作者: 造小梦    时间: 2021-7-23 10:46
sxjkjly8010 发表于 2021-7-23 01:55
可以在每次移动的时候用脚本插入$game_player.check_touch_event,保证触发就是有点烦

扣除血量 ...

感谢大佬!问题已经解决了
作者: 百里_飞柳    时间: 2021-7-23 11:01
关于 玩家接触 的判定:
在 Game_Player 类里是 check_event_trigger_touch 方法,
其中调用的 start_map_event 方法,第四个参数传入true,代表它特别判定了事件需要是与玩家同层的,也因为这个方法传入的x,y是玩家面前的位置,而不是玩家当前位置

不过当按下确定键时,面前的事件(确定键触发、玩家接触、事件接触)都会触发的,所以你的偶然触发可能是因为恰好按了确定键。
作者: 造小梦    时间: 2021-7-24 01:56
sxjkjly8010 发表于 2021-7-22 23:43
可以在每次移动的时候用脚本插入$game_player.check_touch_event,保证触发就是有点烦

扣除血量 ...

为什么打了这个指令之后全部接触事件都是碰到一点点就触发了?甚至传送到接触事件上也会立刻触发,原本不会的,能不能改掉啊
作者: sxjkjly8010    时间: 2021-7-24 02:21
造小梦 发表于 2021-7-24 01:56
为什么打了这个指令之后全部接触事件都是碰到一点点就触发了?甚至传送到接触事件上也会立刻触发,原本不 ...

那还是把脚本指令去掉吧。。
作者: 骷髅岛遗老    时间: 2021-12-23 01:25
一个我也不知道什么原理的憨办法,在事件第一行加个时间调整 - 等待1帧,可能会造成一点点的迟滞感,不过触发很稳定




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