[英]What is wrong with my c# player jumping code ? (unity 3d)
我刚开始学习统一 3d,我写了 c# 代码让我的播放器跳起来但它不起作用
public Rigidbody rb;
public float SideWaysForce = 500f;
bool CanJump;
void OnCollisionEnter(Collision collisioninfo)
{
if (collisioninfo.collider.tag == "Ground")
{
Debug.Log("Can Jump");
CanJump = true;
}
if (collisioninfo.collider.tag != "Ground")
{
Debug.Log("Can not Jump");
CanJump = false;
}
}
void FixedUpdate()
if (CanJump == true && Input.GetKey("space"))
{
rb.AddForce(0, SideWaysForce * Time.deltaTime, 0);
}
控制台中未显示任何错误消息
好吧,调试(使用调试器或使用Debug.Log
)如果脚本甚至可以工作,那么请确保CanJump
和Input.GetKey("Space")
都为真。 此外,如果您不想让角色在握着钥匙时飞起来,您可能应该使用Input.GetKeyDown
。
Input.GetKey("Space")
而不是Input.GetKey("space")
(我相信大写字母很重要)。如果这些解决方案都不能解决您的问题,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.