要实现多段跳,可以int一个jumpcount用来计算跳跃的次数
int jumocount=0;
void Update(){
RaycastHit2D hit = Physics2D.Raycast(transform.position, Vector2.down, 0.5f, 1 << 8);//射线检测是否碰到地面
if (hit.collider != null){
jumpCount = 0;
}//不等于空,就是碰到地面,跳跃次数归0
if (jumpCount<1 && Input.GetKeyDown(KeyCode.W))
{
jumpCount++;
ani.SetBool("run", false);
ani.SetBool("jump", true);
GetComponent<Rigidbody2D>().AddForce(Vector2.up * 300f);
}
}