@Digital17

Unity не реагирует на скрипт?

У меня есть написанный код, и он верный, так как ради проверки в чем ошибка: в коде или Unity был скопирован с помощью горячих клавиш точно рабочий код. Проблема в следующем: после строчек с GetComponentInChildren он должен выводить доступ к параметрам (скорость, сила прыжка) в самом юнити во вкладке Hero? Но почему-то этого не делает.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Hero : MonoBehaviour
{
    private int lives = 3;
    private float speed = 4.0f;
    private float jumpforce = 1.0f;
    public Rigidbody2D PlayerRigidbody;
    public Animator charAnimator;
    public SpriteRenderer sprite;
    bool OnGround;
    private void Awake()
    {
        PlayerRigidbody = GetComponentInChildren<Rigidbody2D>();
        charAnimator = GetComponentInChildren<Animator>();
        sprite = GetComponentInChildren<SpriteRenderer>();
    }
    void Start()
    {
        
    }

    void Move()
    {
        Vector3 tempvector = Vector3.right * Input.GetAxis("Horizontal");
        transform.position = Vector3.MoveTowards(transform.position, transform.position + tempvector, speed * Time.deltaTime);
        if (tempvector.x < 0)
        {
            sprite.flipX = true;
        }
        else
        {
            sprite.flipX = false;
        }

    }
    void jump()
    {
        PlayerRigidbody.AddForce(transform.up * jumpforce, ForceMode2D.Impulse);
    }
    void CheckGround()
    {
        Collider2D[] colliders = Physics2D.OverlapCircleAll(transform.position, 2f);
        OnGround = colliders.Length > 1;
        Debug.Log(colliders.Length);
    }

    private void FixedUpdate()
    {
        CheckGround();
    }
    void Update()
    {
        if (Input.GetButton("Horizontal"))
        {
            Move();
        }
        if (OnGround && Input.GetButton("Jump"))
        {
            jump();
        }
    }
}
  • Вопрос задан
  • 1128 просмотров
Решения вопроса 1
@namee
Читайте документации в подобных случаях
https://docs.unity3d.com/ScriptReference/Component...
Возможно компонент не активен.
В этом случае лучше использовать
https://docs.unity3d.com/ScriptReference/Component...

Но возможно причина в том что в потомках нет такого компонента
Возможно все эти компоненты висят на текущем объекте, а вы ищете в потомках.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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