如何取消多段跳
如何优化物理材质(撞墙不会判定为落地)
//一般也可能因为这种情况
这个脑袋顶上的碰撞体会卡在边缘上....
为碰撞体设置物理材质:
在Assest下右键创建Physics Material 2D
CREATE --> 2D --> PHYSICS MATERIAL
然后可以更改参数
更改为光滑表面更能解决问题
(别忘了link)
解决超级跳问题:
//角色跳跃
if (Input.GetButtonDown("Jump") && coll.IsTouchingLayers(Ground))
{
rb.velocity = new Vector2(rb.velocity.x, jumpforce * Time.deltaTime);
anim.SetBool("jumping", true);
}
}
常见问题:
Q 加上&& coll.IsTouchingLayers(ground)之后,不能跳跃了,找不到问题出在哪里..
A 找到原因了,,圆形碰撞体被方形碰撞体包围了,然后方形碰撞体倒是先着陆了,圆形碰不到地面....所以脚本中的地面触碰一直是false,因为coll给的是圆形碰撞地面检测....哭了
实际上现在虽然在空中不能跳跃了,但是可以蹬墙跳,因为墙壁也算ground,接触墙壁 = 接触ground