Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by Niven2222 · Apr 15, 2021 at 09:09 PM · 2d game2d-platformer2d animation

How do I make an animation stop when button is no longer pressed? 2D C#,How do I stop animating when Key isn't pressed 2D

I haven't found the answer anywhere so far. Everything in my game works except this. At the moment I simply want my player to play an animation where he looks down then when you release the button, he stops that animation and goes back to idle. I don't know why it's so hard for me to make something so simple LOLOLOL XD I know it's not my animator that's the problem because right now I have it set as (Requires LookDown to be true) to enter the animation and (Requires LookDown to be false) to exit the animation back to Idle. LookDown is set as a bool. Thanks everyone.

Below is my script

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityStandardAssets.CrossPlatformInput;

public class Player : MonoBehaviour { // Config [SerializeField] float runSpeed = 5f; [SerializeField] float jumpSpeed = 5f; [SerializeField] float climbSpeed = 5f; [SerializeField] new Vector2 deathKick = new Vector2(5f, 5f);

 // State
 bool isAlive = true;

 // Cached Component reference
 Rigidbody2D myRigidBody;
 Animator myAnimator;
 CapsuleCollider2D myBodyCollider2D;
 BoxCollider2D myFeet;
 float gravityScaleAtStart;


 // Message then methods
 void Start()
 {
     myRigidBody = GetComponent<Rigidbody2D>();
     myAnimator = GetComponent<Animator>();
     myBodyCollider2D = GetComponent<CapsuleCollider2D>();
     myFeet = GetComponent<BoxCollider2D>();
     gravityScaleAtStart = myRigidBody.gravityScale;
 }

 // Update is called once per frame
 void Update()
 {
     if (!isAlive) { return; }
     LookDown();
     Run();
     ClimbLadder();
     Jump();
     FlipSprite();
     Die();
     
 }

 private void LookDown()
 {
     if (Input.GetKeyDown("down"))
     {
         myAnimator.SetBool("LookDown", true);
     }
     if (Input.GetKeyDown("down") == false)
         {
             myAnimator.SetBool("LookDown", false);
         }



 }

 private void Run()
 {
     float controlThrow = CrossPlatformInputManager.GetAxis("Horizontal"); // value is betweeen -1 to +1
     Vector2 playerVelocity = new Vector2(controlThrow * runSpeed, myRigidBody.velocity.y);
     myRigidBody.velocity = playerVelocity;

     bool playerHasHorizontalSpeed = Mathf.Abs(myRigidBody.velocity.x) > Mathf.Epsilon;
     myAnimator.SetBool("Running", playerHasHorizontalSpeed);
     

 }

 private void ClimbLadder()
 {
     if (!myFeet.IsTouchingLayers(LayerMask.GetMask("Climbing")))
     {
         myAnimator.SetBool("Climbing", false);
         myRigidBody.gravityScale = gravityScaleAtStart;
         return;
     }

     float controlThrow = CrossPlatformInputManager.GetAxis("Vertical");
     Vector2 climbVelocity = new Vector2(myRigidBody.velocity.x, controlThrow * climbSpeed);
     myRigidBody.velocity = climbVelocity;
     myRigidBody.gravityScale = 0f;

     bool playerHasVerticalSpeed = Mathf.Abs(myRigidBody.velocity.y) > Mathf.Epsilon;
     myAnimator.SetBool("Climbing", playerHasVerticalSpeed);
 }

 private void Jump()
 {
     if (!myFeet.IsTouchingLayers(LayerMask.GetMask("Ground")))
     {
         return;
     }



     if (CrossPlatformInputManager.GetButtonDown("Jump"))
     {

         Vector2 jumpVelocityToAdd = new Vector2(0f, jumpSpeed);
         myRigidBody.velocity += jumpVelocityToAdd;
         myAnimator.SetBool("Jumping", true);
         
     }
     else
     {
         myAnimator.SetBool("Jumping", false);
     }
 }

 private void Die()
 {
     if (myBodyCollider2D.IsTouchingLayers(LayerMask.GetMask("Enemy")))
     {
         isAlive = false;
         myAnimator.SetTrigger("Dying");
         GetComponent<Rigidbody2D>().velocity = deathKick;
         
     }
 }

   
 private void FlipSprite()
 {
     bool playerHasHorizontalSpeed = Mathf.Abs(myRigidBody.velocity.x) > Mathf.Epsilon;
     if (playerHasHorizontalSpeed)
     {
         transform.localScale = new Vector3(Mathf.Abs(transform.localScale.x) * Mathf.Sign(myRigidBody.velocity.x), transform.localScale.y);
     }
 }

}

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

202 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

2D Dynamic Lights and Shadows 0 Answers

Increase attack speed and animations 1 Answer

Unity 5.2.2 2D c# If lever hit then door open. 0 Answers

I just want to understand why when i check Is Trigger on my 2D player he dont collide with any layer but my trigger works fine instead of when i uncheck Is Trigger he collided and works i really want to to knew 1 Answer

transform.localScal not flipping 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges