@AntiLockYT

Почему персонаж не ходит?

Я не могу ходить, в чём проблема?
Вот скрипт:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class MobileCont : MonoBehaviour
{
	
	public float horizontalSpeed;
	float speedX;
	Rigidbody2D rb;
	bool isGrounded;
	public Transform groundCheck;
	public float jumpForce;
	public float checkRadius;
	public LayerMask whatIsGround;
	
	
	private int extraJumps;
	public int extraJumpsValue;
	
    void Start()
    {
		extraJumps = extraJumpsValue;
        rb = GetComponent<Rigidbody2D>();
    }
	
    void FixedUpdate()
    {
		
		isGrounded = Physics2D.OverlapCircle(groundCheck.position, checkRadius, whatIsGround);
		
		if(Input.GetKeyDown(KeyCode.Escape))
		{
         Application.Quit();
		}
		if (Input.GetKey(KeyCode.A))
		{
			speedX = -horizontalSpeed;
		}
		else if (Input.GetKey(KeyCode.D))
		{
			speedX = horizontalSpeed;
		}
	   
}

void OnTriggerEnter2D(Collider2D other)
	   {
		   if (other.tag == "KillPL")
		   {
			   SceneManager.LoadScene(0);
		   }
	   }


  void Update()
  {
	  if (isGrounded == true)
	  {
		  extraJumps = extraJumpsValue;
	  }
	  
	  if (Input.GetKeyDown(KeyCode.Space) && extraJumps > 0)
	  {
		  rb.velocity = Vector2.up * jumpForce;
	  extraJumps--;
	  }
	  else if (Input.GetKeyDown(KeyCode.Space) && extraJumps == 0 && isGrounded == true)
	  {
		  rb.velocity = Vector2.up * jumpForce;
	  }
  }
  
}
  • Вопрос задан
  • 307 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kot123123
я кот
Здравствуйте, не хочу расстраивать вас, но у вашего перса не задано движение, вот, вставьте это в void update или FixedUpdate
rb.velocity = new Vector2(horizontalSpeed,rb.velocity.y);

и вы же можете объединить код из update и fixedupdate , так будет проще.
Так же можно упростить проверку пола под ногами:
void OnCollisionEnter2D(Collision2D coll) 
{
       if(coll.gameObject.tag == "Ground")
       {
                isGrounded = true;
       }
}

Это подходит для базовой поверки пола под ногами(платформер или ранер).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы