@artemsvytenko
Начинающий разработчик

Нужна помощь, с модификацией скрипта управления, кто может подсказать?

Всем доброго времени суток нужна помощь в таком вопросе есть код взятый также на ресурсе хабрахабр. Код написан для юнити3д так вот там прописан код управлением персонажем проблема с прыжком не знаю как пофиксить что бы прыжок был возможен только с земли другого коллайдера сам код вот

код не мой:

using UnityEngine;
using System.Collections;

public class CharController : MonoBehaviour
{
    public Rigidbody2D rb2d;
    public float playerSpeed;
    public float jumpPower;
    public int directionInput;
    public bool groundCheck;
    public bool facingRight = true;


    void Start()
    {
        rb2d = GetComponent<Rigidbody2D>();

    }


    void Update()
    {
        if ((directionInput < 0) && (facingRight))
        {
            Flip();
        }

        if ((directionInput > 0) && (!facingRight))
        {
            Flip();
        }
        groundCheck = true;
    }

    void FixedUpdate()
    {
        rb2d.velocity = new Vector2(playerSpeed * directionInput, rb2d.velocity.y);
    }

    public void Move(int InputAxis)
    {

        directionInput = InputAxis;
       
    }

    public void Jump(bool isJump)
    {
        isJump = groundCheck;

        if (groundCheck)
        {
            rb2d.velocity = new Vector2(rb2d.velocity.x, jumpPower);
        }

    }

    void Flip()
    {
        facingRight = !facingRight;
        Vector3 theScale = transform.localScale;
        theScale.x *= -1;
        transform.localScale = theScale;
    }
}
  • Вопрос задан
  • 296 просмотров
Решения вопроса 2
@S0HardCore
В Update()
groundCheck = Physics.Raycast(...);
https://docs.unity3d.com/ScriptReference/Physics.R...
Ответ написан
Комментировать
@InFoS
public void Jump(bool isJump)
{
isJump = groundCheck;
...

Как по мне, isJump и GroundCheck там местами поменять надо, хотя эта строчка вообще бессмысленна.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы