@vkvk

Как исправить ошибку с прыжком?

Всем привет! Я делал управление для персонажа, все работает, но прыжок бесконечный, и я не знаю что делать, хотя все вроде правильно настраивал. Выбивает ошибку: "UnassignedReferenceException: The variable feetPos of HeroCntrl has not been assigned.
You probably need to assign the feetPos variable of the HeroCntrl script in the inspector." Я ставлю feetPos под персонажа, и выделяю его зеленым цветом, в редакторе ставлю под ногами, у всех объектов все выделяю (Ground), но все равно такая проблема. Помогите пожалуйста исправить ошибку!

Вот код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class HeroCntrl : MonoBehaviour
{
    public float speed = 10f;
    public float jumpForce;
    private float moveInput;

    Rigidbody2D rb;

    private bool FacingRight = false;

    private bool isGrounded;
    public Transform feetPos;
    public float checkRadius;
    public LayerMask WhatIsGround;

    private void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    private void Update()
    {
        isGrounded = Physics2D.OverlapCircle(feetPos.position, checkRadius, WhatIsGround);
        if (isGrounded = true && Input.GetKeyDown(KeyCode.Space))
        {
            rb.velocity = Vector2.up * jumpForce;

        }
    }
    private void FixedUpdate()
    {
        moveInput = Input.GetAxis("Horizontal");
        rb.velocity = new Vector2(moveInput * speed, rb.velocity.y);

        if (FacingRight = false && moveInput > 0)
        {
            Flip();
        }
        else if (FacingRight = true && moveInput < 0)
        {
            Flip();
        }
    }
    void Flip()
    {
        FacingRight = !FacingRight;
        Vector3 Scaler = transform.localScale;
        Scaler.x *= -1;
        transform.localScale = Scaler;
    }
}
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
DanceM
@DanceM Куратор тега Unity
Кто хочет -ищет способ, кто не хочет -ищет причину
и выделяю его зеленым цветом
Это как?..

Как я понимаю, не указана ссылка на объект feetPos в самом скрипте. об этом в ошибке и написано человеческим языком..

А раз и вы не понимаете, что к чему, то код не ваш, где-то скопировали. Так вы мало чему научитесь, и это съест кучу времени.

Новичкам я даю эту книгу. Там идет знакомство с методами, классами, объектами, ссылками и прочим минимально необходимым набором знаний для работы в Unity. Хотя было бы неплохо сначала постичь основы C# с учебником или кратким курсом, с заданиями.
рекомендую первым делом прочесть и пройти уроки по этой книге. Сразу многие вещи станут понятны:
Unity в действии. Мультиплатформенная разработка на C#

Книга есть тут, в цифровом виде для ПК, планшетов и телефонов, с удобным поиском. Но можно найти и в других местах:
Google Books: Unity в действии
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
В этом курсе, по которому делаете, он сотню раз говорит, почему такое может быть.
А вообще советую не проходить его, там много затупов)
Ответ написан
Ваш ответ на вопрос

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

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