Голосование за лучший ответ
Jurijus Zaksas
Искусственный Интеллект
(443430)
4 месяца назад
- Таки _isMoving нигде не описано.
- С подчеркивания принято в некоторых нотациях начинать формальные параметры. Ты же зачем-то начинаешь так любую переменную.
- Тернарный оператор, возвращающий булевское значение - это сильный заход. Это посильнее "Фауста" Гёте будет.
(36,32) error CS0103 the name _isMoving does not exist in the current context
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
[SerializeField] private float _speed;
private Vector3 _input;
private Rigidbody2D _rigidbody;
private AnimatiosScript _animations;
[SerializeField] private SpriteRenderer _characterSprite;
private void Start()
{
_rigidbody = GetComponent<Rigidbody2D>();
_animations = GetComponentInChildren<AnimatiosScript>();
}
// Update is called once per frame
private void FixedUpdate()
{
Move();
}
private void Move()
{
_input = new Vector2(Input.GetAxis("Horizontal"), 0);
transform.position += _input * _speed * Time.deltaTime;
_isMoving = _input.x != 0 ? true : false;
if (_input.x != 0)
{
_characterSprite.flipX = _input.x > 0 ? false : true;
}
_animations.IsMoving = _isMoving;
}
}