首页 > 解决方案 > 有没有办法使用 c# 从 Minecraft 统一重新创建班次系统

问题描述

我想知道如何重新创建轮班系统。我想知道的是这个(移动让你走到一个立方体/块的末端,你移动得更慢。一般来说就是这样。

标签: c#unity3d

解决方案


改变速度:检测到 shift 键被按下,如果按下改变你的速度变量的值,我会使用一个乘数:

if (Input.GetKeyDown("LeftShift"))
     sneak = 0.5f;
else 
     sneak = 1.0f;
speed = baseSpeed * sneak;

检测边缘:按下 shift 时使用播放器的向下光线投射。(https://docs.unity3d.com/ScriptReference/Physics.Raycast.html)。将 maxDistance 设置为相当短,如果您脚下有地面,它将返回 true,您什么也不做。如果你的脚下没有任何东西,它将返回 false。这里的棘手之处在于,您不能只将角色的速度设置为 0,因为您会被永久封锁。要解决这个问题,您可能需要多个光线投射并让它们一起工作以检测边缘的方向,并且只抵消会使您从边缘跌落的运动方向。我不确定执行此操作的最佳方法,但您很可能需要光线投射,因此请查看它们。

您可能对这些教程感兴趣: https ://www.youtube.com/watch?v=h66IN1Pndd0&list=PLVsTSlfj0qsWEJ-5eMtXsYp03Y9yF1dEn


推荐阅读