我正在尝试在统一2d中制作一个跳转脚本,但没有任何效果,所以我希望有人可以给我一个有效的跳转脚本?
我已经尝试了整个网络,但没有任何效果
答案 0 :(得分:0)
要制作跳转脚本,您需要做两件事: 进行力或变形以使您的精灵向上移动,并进行检查以确保您的精灵不会永远跳下去。
这是一些示例代码:
// In your movement class
public float jumpHeight = 5f; // A public float so we can change its value easily in the inspector
public static bool isJumping = false; // This bool will tell us if our character is jumping or not
// Inside the Update method:
if (Input.GetButtonDown("Jump") && (isJumping == false))
{
gameObject.GetComponent<Rigidbody2D>().AddForce(new Vector2(0f, jumpHeight), ForceMode2D.Impulse);
}
// Methods, inside your movement class
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.collider.tag == "Ground")
{
isJumping = false;
}
}
private void OnCollisionExit2D(Collision2D collision)
{
if (collision.collider.tag == "Ground")
{
isJumping = true;
}
}
创建跳转脚本的方法有很多-这只是一个简单的方法。
像UnholySheep所说的那样,将来提供一些您已经尝试过的代码-然后其他人可以帮助您并解释您出了什么问题,这样就不会再发生。
祝您好运!