Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- public class PlatformerMovement : MonoBehaviour
- {
- public float speed = 5f; // Горизонтальная скорость
- public float jumpForce = 7f; // Сила прыжка
- public LayerMask groundLayer; // На каком слое земля
- public Transform groundCheck; // Точка для проверки соприкосновения с землей
- public float groundCheckRadius = 0.2f; // Радиус проверки
- private Rigidbody2D rb;
- private bool isGrounded;
- void Start()
- {
- rb = GetComponent<Rigidbody2D>(); // Получаем Rigidbody2D
- }
- void Update()
- {
- // Проверяем, стоим ли на земле (перебор коллизий с кругом вокруг groundCheck)
- isGrounded = Physics2D.OverlapCircle(groundCheck.position, groundCheckRadius, groundLayer);
- // Прыжок при нажатии кнопки и если на земле
- if (Input.GetButtonDown("Jump") && isGrounded)
- {
- rb.velocity = new Vector2(rb.velocity.x, jumpForce);
- }
- }
- void FixedUpdate()
- {
- // Простой ход влево-вправо
- float moveX = Input.GetAxisRaw("Horizontal");
- rb.velocity = new Vector2(moveX * speed, rb.velocity.y);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement