У меня есть написанный код, и он верный, так как ради проверки в чем ошибка: в коде или 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();
}
}
}