У меня постоянно идет анимация бега и не останавливается что делать?
@Sapf1rka123 Жыл бұрын
Сделай ещё видео по анимациям например: Анимация удара, рывок и т.д
@Koret0000 Жыл бұрын
привет сделаю это в ближайшем будущем когда это будет в тему ролика или просто сделаю отдельный ролик для этого
@Sapf1rka123 Жыл бұрын
Привет! Спасибо за старания! Можешь пожалуйста скинуть свой код? У меня вообще не выходит((( Я не хочу его полностью копировать. Я хочу посмотреть на то где у меня ошибки. Заранее спасибо!
@Koret0000 Жыл бұрын
привет все объяснения моего когда есть еще в прошлом ролике про управление и еще в списывании нет не чего плохого вот код удачи using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerControl : MonoBehaviour { private Rigidbody2D rb; private float HorizontalMove = 0f; [Range(0, 15f)] public float speed = 1f; [Range(0, 15f)] public float jampForce = 8f; private bool FacingRight = true; public bool isGrounded = false; [Range(-15, 15f)] public float checkGroundOffsetY = -1.8f; [Range(-15, 15f)] public float checkGroundRadius = 0.3f; public Animator animator; private void Start() { rb = GetComponent(); } private void Update() { if (isGrounded && Input.GetKeyDown(KeyCode.Space)) { rb.AddForce(transform.up * jampForce, ForceMode2D.Impulse); } HorizontalMove = Input.GetAxis("Horizontal") * speed; animator.SetFloat("HorizontalMove", Mathf.Abs(HorizontalMove)); if (isGrounded == false) { animator.SetBool("Jamping", true); } else { animator.SetBool("Jamping", false); } if (HorizontalMove < 0 && FacingRight) { Flip(); } else if (HorizontalMove > 0 && !FacingRight) { Flip(); } } private void FixedUpdate() { Vector2 targetVelocity = new Vector2(HorizontalMove * 10f, rb.velocity.y); rb.velocity = targetVelocity; CheckGround(); } private void Flip() { FacingRight = !FacingRight; Vector3 thescale = transform.localScale; thescale.x *= - 1; transform.localScale = thescale; } private void CheckGround() { Collider2D[] colliders = Physics2D.OverlapCircleAll (new Vector2(transform.position.x, transform.position.y + checkGroundOffsetY), checkGroundRadius); if (colliders.Length > 1) { isGrounded = true; } else { isGrounded = false; } } }
@Koret0000 Жыл бұрын
и если не получиться напиши мне в вк я помогу
@Sapf1rka123 Жыл бұрын
@@Koret0000 сяб, если что обращусь!
@Is.Lamnot Жыл бұрын
У меня юнити выдаёт ошибку, что HorizontalMove не распознано в коде
@Koret0000 Жыл бұрын
Скинь код
@Is.Lamnot Жыл бұрын
@@Koret0000 завтра, ок?
@Koret0000 Жыл бұрын
Хорошо
@Is.Lamnot Жыл бұрын
@@Koret0000 using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { public float speed = 1f; public float jumpForce = 5f; Rigidbody2D rb; public Animator animator; SpriteRenderer sr; // Start is called before the first frame update void Start() { rb = GetComponent(); sr = GetComponent(); } // Update is called once per frame void Update() { float movement = Input.GetAxis("Horizontal"); transform.position += new Vector3(movement, 0, 0) * speed * Time.deltaTime; if (Input.GetKeyDown(KeyCode.Space) && Mathf.Abs(rb.velocity.y) < 0.05f) rb.AddForce(new Vector2(0, jumpForce), ForceMode2D.Impulse); animator.SetFloat("HorizontalMove", Mathf.Abs(HorizontalMove)); sr.flipX = movement < 0 ? true : false; } } Там твоя твоя строка animator.SetFloat("HorizontalMove", Mathf.Abs(HorizontalMove)); не работает видимо,пишет ошибку The name 'HorizontalMove' does not exist in the current context, если что весь код я делал с помощью других видео, а анимации с помощью твоего.