首页 > 代码库 > 如何在Unity中实现物体的二段跳
如何在Unity中实现物体的二段跳
//第一次跳
void Jump()
{
//判断是否在地面,如果是在地面允许跳
if (m_isOnGround)
{
m_rigidbody.drag = 5f;
//bool类型,按space键跳跃,返回bool类型
if (m_jump)
{
//bool类型,判断跳跃状态
if (is_jump)
{
//跳跃受力
m_rigidbody.drag = 0f;
m_rigidbody.velocity = new Vector3(m_rigidbody.velocity.x, 0f, m_rigidbody.velocity.z);
m_rigidbody.AddForce(new Vector3(0, moveSet.JumpForce, 0), ForceMode.Impulse);
}
//跳起后,跳跃状态为false
is_jump = false;
}
//重置按键
m_jump = false;
}
}
//第二次跳跃
void Jump2()
{
//如果不是在地面
if (!m_isOnGround)
{
//bool类型,按space键跳跃,返回bool类型
if (m_jump)
{
//bool类型,判断跳跃状态
if (!is_jump)
{
m_rigidbody.drag = 0f;
m_rigidbody.velocity = new Vector3(m_rigidbody.velocity.x, 0f, m_rigidbody.velocity.z);
m_rigidbody.AddForce(new Vector3(0, moveSet.JumpForce, 0), ForceMode.Impulse);
}
//跳起后,跳跃状态为false
is_jump = true;
}
//重置按键
m_jump = false;
}
}
本文出自 “12107947” 博客,转载请与作者联系!
如何在Unity中实现物体的二段跳