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 /
avatar image
0
Question by TheFinalHD · Jun 28, 2015 at 09:05 PM · animationgamesprites

Having trouble with my attack animation code

Hi

I recently got into Unity Development and wanted to start off with a small 2D game to learn the engine. In this game the character has some sprite animations and one of these is the attack animation. I created the others with the help of this Unity tutorial

So I then imported my attack animation and added some code to get it to work. It did not work when I pressed my input key 'C' Here is my code and I have changed to bold the parts in which I have attempted to add the attack animation code.

 using UnityEngine;
 using System.Collections;
 
 public class PlayerController : MonoBehaviour {
 
     public float maxSpeed = 10f;
     bool facingRight = true;
 
     Animator anim;
 
     **public bool attack = false;**
     bool grounded = false;
     public Transform groundCheck;
     float groundRadius = 0.2f;
     public LayerMask isGround;
     public float jumpForce = 700f;
 
     void Start () {
 
         anim = GetComponent<Animator> ();
     
     }
 
     void FixedUpdate () {
 
         grounded = Physics2D.OverlapCircle (groundCheck.position, groundRadius, isGround);
         anim.SetBool ("Ground", grounded);
 
 
         anim.SetFloat ("vSpeed", GetComponent<Rigidbody2D>().velocity.y);
 
         float move = Input.GetAxis ("Horizontal");
 
         anim.SetFloat ("speed", Mathf.Abs (move));
 
         GetComponent<Rigidbody2D>().velocity = new Vector2(move * maxSpeed,  GetComponent<Rigidbody2D>().velocity.y);
 
         if (move > 0 && !facingRight)
             Flip ();
         else if (move < 0 && facingRight)
             Flip ();
 }
 
     void Update(){
 
 
         if (grounded && Input.GetKeyDown (KeyCode.Space)) {
             anim.SetBool("Ground", false);
             GetComponent<Rigidbody2D>().AddForce(new Vector2(0,jumpForce));
 
         **if (grounded && Input.GetKeyDown(KeyCode.C)){**
                 **anim.SetBool("Attack", true);**
                 **attack = true;**
             }
         }
     }
 
     void Flip(){
         facingRight = !facingRight;
         Vector3 theScale = transform.localScale;
         theScale.x *= -1;
         transform.localScale = theScale;
     }
 
 }

After this I then went into my 'Animator' tab and created a boolean parameter called 'Attack' and then transitions to all other animations from and to attack with the conditions of attack is false to change from attack to a different state and attack is true to change from a state to attack.

If you need any more info or images of any kind I can provide it.

Thank you very much!

edit: realized you cant bold code text so my attack animation code has ** on either side

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

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Inok · Jun 28, 2015 at 09:28 PM

Ok, you need move this block of code outside of line 47 if statement:

 if (grounded && Input.GetKeyDown(KeyCode.C))
     {
      anim.SetBool("Attack", true);
      attack = true;
     }

So your code need to be something like that:

 void Update()
 {
   if (grounded && Input.GetKeyDown (KeyCode.Space))
   {
     anim.SetBool("Ground", false);
     GetComponent<Rigidbody2D>().AddForce(new Vector2(0,jumpForce));
   }
   if (grounded && Input.GetKeyDown(KeyCode.C))
   {
     anim.SetBool("Attack", true);
     attack = true;
   }
 }



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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Attack Animation not working 1 Answer

Create animation from script 0 Answers

how to display a single frame of a sprite animation 1 Answer

Efficient way to instantiate a sprite that plays an animation then destroys itself? (3d space) 1 Answer

add animation frames to existing spritesheet with animations? 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