все для Unity

Механика карабканья по стенам для 2д персонажа на языке c#:

public float climbSpeed; // скорость карабкания public float jumpForce; // сила прыжка private bool onGround; // на земле ли игрок private bool onWall; // на стене ли игрок private bool wallJumped; // прыгал ли игрок от стены private bool facingRight = true; // смотрит ли игрок вправо private float moveInput; // направление движения private Rigidbody2D rb; private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.CompareTag("Ground")) { onGround = true; wallJumped = false; } else if (collision.gameObject.CompareTag("Wall")) { onWall = true; } } private void OnCollisionExit2D(Collision2D collision) { if (collision.gameObject.CompareTag("Ground")) { onGround = false; } else if (collision.gameObject.CompareTag("Wall")) { onWall = false; } } private void Flip() { facingRight = !facingRight; transform.Rotate(0f, 180f, 0f); } private void Move() { moveInput = Input.GetAxis("Horizontal"); rb.velocity = new Vector2(moveInput * climbSpeed, rb.velocity.y); if ((moveInput > 0 && !facingRight) || (moveInput < 0 && facingRight)) { Flip(); } }
Был ли вам скрипт полезен?
да
нет
нужно обьяснение
55
5 комментариев

Это простой скрипт перемещения по горизонтальной оси.

Щас бы теги, да не в compile time, ммм