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 Reagle606 · Jul 22, 2014 at 03:13 AM · animationfunctionmelee

How do i call a function from the child via an animation

I have a Player script and a weapon script and arms witch i animate. the weapon script is attached to each weapon and has the apply damage function on it. i want it to do the function from the animation that the arms do, and the weapon is the child of the arms. how would i get the function to show up in the animator of the arms?

Here are my scripts

Weapon #pragma strict

 public var Dammage : int = 50;
 public var MaxDistance : float = 1.5;
 public var DammageDelay : float = 1;
 var Distance : float;
 var AnimControl : GameObject;
 
 
     
 
 
 function Update ()
 {
             
 }
  
 function AttackDammage ()
 {
     
     
     var hit : RaycastHit;
     var ray = Camera.main.ScreenPointToRay(Vector3(Screen.width/2, Screen.height/2, 0));
     if (Physics.Raycast (ray, hit))
     {
         Debug.Log(hit.transform.name + ", " + hit.transform.tag);
          Debug.Log(Distance + ", " + MaxDistance);
         Distance = hit.distance;
         if (Distance < MaxDistance)
         {
             hit.transform.SendMessage("ApplyDammage", Dammage, SendMessageOptions.DontRequireReceiver);
         }
     }
 }

Player

pragma strict

public var CanAttack : boolean = true; public var CanSprint : boolean; public var CanWalk : boolean; public var Sprinting : boolean; public var Walking : boolean; public var Attacking : boolean; var TheAnimator : Animator; public var Playerstate : float; var script : FirstPersonCharacter; var AnimTime : float = 1.1; var Wscript : Weapon; var Distance : float; var Hit : boolean; var PlayerCam : GameObject; var Arms : GameObject;

 function Update () 
 {
     PlayerStateController();
     PlayerAnims();
     
 }
 
 
 
 function PlayerStateController ()
 {
     if (Input.GetButtonDown("Fire1") && CanAttack == true && Sprinting == false)
     {
         Arms.animation.CrossFade("Punch 1");
         Walking = false;
         Sprinting = false;
         Attacking = true;
         CanSprint = false;
         CanWalk = false;
         CanAttack = false;
         script = GetComponent("FirstPersonCharacter");
         script.walkSpeed = 1.5;
         script.runSpeed = 1.5;
         script.strafeSpeed = 1.5;
         yield WaitForSeconds(AnimTime);
         script.walkSpeed = 3;
         script.runSpeed = 8;
         script.strafeSpeed = 4;
         Walking = false;
         Sprinting = false;
         Attacking = false;
         CanSprint = true;
         CanWalk = true;
         CanAttack = true;
         
         
         
         
     }
     if (Input.GetAxis("Vertical") !=0 || Input.GetAxis("Horizontal") !=0)
     {
         if (Input.GetButton("Sprint") && CanSprint == true && Attacking == false)
         {
             Playerstate = 2;
             Walking = false;
             Sprinting = true;
             Attacking = false;
             CanSprint = true;
             CanWalk = true;
             CanAttack = true;
             
     
             
         }
         else if(Attacking == false)
         {
             Playerstate = 1;
             Walking = true;
             Sprinting = false;
             Attacking = false;
             CanSprint = true;
             CanWalk = true;
             CanAttack = true;
             
         }
     }
     else if(Attacking == false)
     {
         Playerstate = 0;
         Walking = false;
         Sprinting = false;
         Attacking = false;
         CanSprint = true;
         CanWalk = true;
         CanAttack = true;
         
     }
 }
 
 function PlayerAnims ()
 {
     if (Playerstate == 0)
     {
         Arms.animation.CrossFade("Idle");
     }
     if (Playerstate == 1)
     {
         Arms.animation.CrossFade("Walk");
     }
     if (Playerstate == 2)
     {
         Arms.animation.CrossFade("Run");
     }
 }
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

2 People are following this question.

avatar image avatar image

Related Questions

How do i make my attack function not work whilst animation playing? 1 Answer

Can the animation editor create local rotational data? 3 Answers

Animation for weapon plays on game start instead of when i attack 2 Answers

Select Object ( Weapon ) Quick! Help! xD 1 Answer

Javascript Movement Script. Why am I getting these errors? 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