Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 /
avatar image
0
Question by KnightRiderGuy · Mar 11, 2016 at 09:08 PM · c#animation2dcharacter controllingsprite-animation

2D Character Animation Help

I have a very simple sprite character animation only has three frames two are for a walk animation and a single standing sprite for when the character is not moving.

I'm trying to make a simple moment script that we can call to from other code to move the character so that when he is moving his moving animation play and when he is not moving the standing still animation plays.

 using UnityEngine;
 using System.Collections;
 
 public class Character01Input : MonoBehaviour {
     
     //Reference to the Character 01 Game Object
     public GameObject FigureOne;
 
     //animator reference
     private Animator Fig01Ani;
 
 
     public float speed;
 
 
 
 
 
     void Start(){
         Fig01Ani = FigureOne.GetComponent<Animator>();
         //disable it on start to stop it from playing the default animation
         Fig01Ani.enabled = true;
     }
 
 
 
     void Update () {
 
 
         if (Input.GetKeyDown (KeyCode.A)) {//Start
             //Fig01Ani.enabled = true;
             transform.Translate (Vector2.right * speed);
             Fig01Ani.SetBool ("Fig01MoveAni", true);
             Fig01Ani.SetBool ("Fig01IdleAni", false);
 
 
             //SFXmanager SFXfw = FindObjectOfType<SFXmanager> ();
             //SFXfw.FigWalkSFX ();
             Fig01Ani.Play ("Fig01MoveAni");
         }
 
         if (Input.GetKeyUp (KeyCode.A)) {//Stop
             //Fig01Ani.enabled = true;
 
             Fig01Ani.SetBool ("Fig01MoveAni", false);
             Fig01Ani.SetBool ("Fig01IdleAni", true);
 
             //transform.Translate (Vector2.right * speed);
             //SFXmanager SFXfw = FindObjectOfType<SFXmanager> ();
             //SFXfw.FigWalkSFX ();
             Fig01Ani.Play ("Fig01IdleAni");
         }
 
         if (Input.GetKeyDown (KeyCode.D)) {//Start
             //Fig01Ani.enabled = true;
             transform.Translate (-Vector2.right * speed);
             Fig01Ani.SetBool("Fig01MoveAni", true);
             Fig01Ani.SetBool("Fig01IdleAni", false);
 
             transform.Translate (-Vector2.right * speed);
             //SFXmanager SFXfw = FindObjectOfType<SFXmanager> ();
             //SFXfw.FigWalkSFX ();
             Fig01Ani.Play ("Fig01MoveAni");
         }
 
         if (Input.GetKeyUp (KeyCode.D)) {//Stop
             //Fig01Ani.enabled = true;
 
             Fig01Ani.SetBool("Fig01MoveAni", false);
             Fig01Ani.SetBool("Fig01IdleAni", true);
 
             //transform.Translate (-Vector2.right * speed);
             //SFXmanager SFXfw = FindObjectOfType<SFXmanager> ();
             //SFXfw.FigWalkSFX ();
             Fig01Ani.Play ("Fig01IdleAni");
         }
 
         if (Input.GetKeyDown (KeyCode.S)) {//start
             //Fig01Ani.enabled = true;
             transform.Translate (Vector2.up * speed);
             Fig01Ani.SetBool("Fig01MoveAni", true);
             Fig01Ani.SetBool("Fig01IdleAni", false);
 
             transform.Translate (Vector2.up * speed);
             //SFXmanager SFXfw = FindObjectOfType<SFXmanager> ();
             //SFXfw.FigWalkSFX ();
             Fig01Ani.Play ("Fig01MoveAni");
         }
 
         if (Input.GetKeyUp (KeyCode.S)) {//Stop
             //Fig01Ani.enabled = true;
 
             Fig01Ani.SetBool("Fig01MoveAni", false);
             Fig01Ani.SetBool("Fig01IdleAni", true);
 
             //transform.Translate (Vector2.up * speed);
             //SFXmanager SFXfw = FindObjectOfType<SFXmanager> ();
             //SFXfw.FigWalkSFX ();
             Fig01Ani.Play ("Fig01IdleAni");
         }
 
         if (Input.GetKeyDown (KeyCode.W)) {//Start
             //Fig01Ani.enabled = true;
             transform.Translate (-Vector2.up * speed);
             Fig01Ani.SetBool("Fig01MoveAni", true);
             Fig01Ani.SetBool("Fig01IdleAni", false);
 
             transform.Translate (-Vector2.up * speed);
             //SFXmanager SFXfw = FindObjectOfType<SFXmanager> ();
             //SFXfw.FigWalkSFX ();
             Fig01Ani.Play ("Fig01MoveAni");
         }
 
         if (Input.GetKeyUp (KeyCode.W)) {//Stop
             //Fig01Ani.enabled = true;
 
             Fig01Ani.SetBool("Fig01MoveAni", false);
             Fig01Ani.SetBool("Fig01IdleAni", true);
 
             //transform.Translate (-Vector2.up * speed);
             //SFXmanager SFXfw = FindObjectOfType<SFXmanager> ();
             //SFXfw.FigWalkSFX ();
             Fig01Ani.Play ("Fig01IdleAni");
         }
 
     }
 
 
 
 }
 
Comment
Add comment · Show 3
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
avatar image Cherno · Mar 11, 2016 at 10:28 PM 0
Share

What is your question? If you have set up your animation state transitions, I can't see why your code wouldn't work as intended.

avatar image KnightRiderGuy Cherno · Mar 12, 2016 at 03:27 PM 0
Share

@Cherno, Thanks I had to pull out the actual direction on the get get button down. these were just done as a test anyways but I actually want to call the moments from another script which would call something like this:

 //UP $$anonymous$$ovement Direction Control
     public void COne_DirectionUP(){
         Fig01Ani = FigureOne.GetComponent<Animator>();
         FigureOne.transform.Translate (Vector2.up * speed);
 
         //SFXmanager SFXfw = FindObjectOfType<SFXmanager> ();
         //SFXfw.FigWalkSFX ();
         Fig01Ani.Play ("Fig01$$anonymous$$oveAni");
     }


Thing is that it's playing the animation but not moving my object in that direction?

avatar image Cherno KnightRiderGuy · Mar 13, 2016 at 10:57 AM 0
Share

Try

 FigureOne.transform.Translate (Vector2.up * Time.deltaTime * speed);

Also make sure this code is called every frame (GetButton), not just once (as it would be with GetButtonDown).

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by slametnhd · Mar 17, 2016 at 03:06 PM

I don't help you about your code, you must put image animation controller configuration, may can help you https://youtu.be/1qu_cehdASk alt text


anim.png (56.8 kB)
Comment
Add comment · Share
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

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

162 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

Related Questions

How to let death animation play when enemy dies, and stop player from taking damage 1 Answer

Collision on specific Frames 1 Answer

How can I code an enemy attack? (Top Down Melee Attack) 1 Answer

Animation of Instantiated objects trouble 0 Answers

Please help me with my 2D animations - c# 2 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