吹风机客户
rt 看到levitation的进度里有distance 可是这个又只能有漂浮时使用
请问有什么办法获取玩家速度呢 像1s内跑了多远多少格这样子


晴路卡
本帖最后由 晴路卡 于 2021-12-7 13:49 编辑

每刻把玩家当前坐标与上一刻的坐标放在记分板里做下减法,算下这个距离。

吹风机客户
晴路卡 发表于 2021-12-7 13:45
每刻把玩家当前坐标与上一刻的坐标放在记分板里做下减法,算下这个距离。 ...

请问在数据包里的顺序是同时的还是有1tick的延迟呢 还是必须得用记分版做个延迟

吹风机客户
吹风机客户 发表于 2021-12-7 13:56
请问在数据包里的顺序是同时的还是有1tick的延迟呢 还是必须得用记分版做个延迟 ...

我在尝试在数据包里
execute store result score @s mox1 run data get entity @s Pos[0] 10
execute store result score @s mox2 run data get entity @s Pos[0] 10
发现得到的坐标完全是一模一样的
是不是一定得做个延迟再得第二个坐标才行

晴路卡
吹风机客户 发表于 2021-12-7 15:00
我在尝试在数据包里
execute store result score @s mox1 run data get entity @s Pos[0] 10
execute sto ...

同一tick获取到的位置当然是一样的,通常的做法是:
  1. #开始时mox2的值设置为mox1的值 即上一刻玩家的坐标
  2. scoreboard players operation @s mox2 = @s mox1
  3. #更新mox1的值
  4. execute store result score @s mox1 run data get entity @s Pos[0] 10
  5. #相减
  6. scoreboard players operation @s mox1 -= @s mox2
复制代码





第一页 上一页 下一页 最后一页