Advertisement
GigaOrts

PlatformerMovement

Jul 7th, 2025
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.42 KB | Gaming | 0 0
  1. using UnityEngine;
  2.  
  3. public class PlatformerMovement : MonoBehaviour
  4. {
  5.     public float speed = 5f;                    // Горизонтальная скорость
  6.     public float jumpForce = 7f;                // Сила прыжка
  7.     public LayerMask groundLayer;               // На каком слое земля
  8.     public Transform groundCheck;               // Точка для проверки соприкосновения с землей
  9.     public float groundCheckRadius = 0.2f;      // Радиус проверки
  10.  
  11.     private Rigidbody2D rb;
  12.     private bool isGrounded;
  13.  
  14.     void Start()
  15.     {
  16.         rb = GetComponent<Rigidbody2D>();       // Получаем Rigidbody2D
  17.     }
  18.  
  19.     void Update()
  20.     {
  21.         // Проверяем, стоим ли на земле (перебор коллизий с кругом вокруг groundCheck)
  22.         isGrounded = Physics2D.OverlapCircle(groundCheck.position, groundCheckRadius, groundLayer);
  23.  
  24.         // Прыжок при нажатии кнопки и если на земле
  25.         if (Input.GetButtonDown("Jump") && isGrounded)
  26.         {
  27.             rb.velocity = new Vector2(rb.velocity.x, jumpForce);
  28.         }
  29.     }
  30.  
  31.     void FixedUpdate()
  32.     {
  33.         // Простой ход влево-вправо
  34.         float moveX = Input.GetAxisRaw("Horizontal");
  35.         rb.velocity = new Vector2(moveX * speed, rb.velocity.y);
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement