✅ when i'm grounded my running animation won't trigger
-
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
private Rigidbody2D rb;
private Animator anim;
private SpriteRenderer sprite;
[SerializeField] private LayerMask jumpableGround;
private BoxCollider2D coll;
[SerializeField] private float moveSpeed = 7f;
[SerializeField] private float JumpFoce = 15f;
private enum MovementState {idle, running, jumping, falling }
private float dirX = 0f;
// Start is called before the first frame update
private void Start()
{
rb = GetComponent<Rigidbody2D>();
coll = GetComponent<BoxCollider2D>();
sprite = GetComponent<SpriteRenderer>();
anim = GetComponent<Animator>();
}
// Update is called once per frame
private void Update()
{
dirX = Input.GetAxisRaw("Horizontal");
rb.velocity = new UnityEngine.Vector2(dirX * moveSpeed, rb.velocity.y);
if (Input.GetButtonDown("Jump") && IsGrounded()) { rb.velocity = new UnityEngine.Vector2(rb.velocity.x, JumpFoce); } UpdateAnimationState(); } private void UpdateAnimationState() { MovementState state; if (dirX > 0f) { state = MovementState.running; sprite.flipX = false; } else if (dirX < 0f) { state = MovementState.running; sprite.flipX = true; } else { state = MovementState.idle; } if (rb.velocity.y > .1f) { state = MovementState.jumping; } else if (rb.velocity.y < -.1f) { state = MovementState.falling; } anim.SetInteger("state", (int)state); } private bool IsGrounded() { return Physics2D.BoxCast(coll.bounds.center, coll.bounds.size, 0f, Vector2.down, .1f,jumpableGround); } }
if (Input.GetButtonDown("Jump") && IsGrounded()) { rb.velocity = new UnityEngine.Vector2(rb.velocity.x, JumpFoce); } UpdateAnimationState(); } private void UpdateAnimationState() { MovementState state; if (dirX > 0f) { state = MovementState.running; sprite.flipX = false; } else if (dirX < 0f) { state = MovementState.running; sprite.flipX = true; } else { state = MovementState.idle; } if (rb.velocity.y > .1f) { state = MovementState.jumping; } else if (rb.velocity.y < -.1f) { state = MovementState.falling; } anim.SetInteger("state", (int)state); } private bool IsGrounded() { return Physics2D.BoxCast(coll.bounds.center, coll.bounds.size, 0f, Vector2.down, .1f,jumpableGround); } }
5 Replies
$paste
If your code is too long, you can post to https://paste.mod.gg/ and copy the link into chat for others to see your shared code!
what is this supposed to mean all my code fit
Easier to help and with syntax highlighting, also line numbers
the problem has been resovled #stackoverflow