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 ShiningShisa · Jan 31, 2013 at 03:15 PM · animationbooleandelay

Detect input, return true for 3s then return false

Basically I started scripting for the first time yesterday and want to detect a button input, "down", that returns a value ,true, for a given amount of time (roughly 2 seconds). This is so that an animation can play all the way through once it's triggered by the true value rather than stopping after a split second.

the code is:

 //A custom Controller for a side scrolling character, Horizontal for back and forth, vertical for look/aim up down, button for jump, crouch, action
 
 var speed : float = 3.0;
 var jumpSpeed : float = 6.0;
 var gravity : float = 20.0;
 
 // Back and forward movement code
 
 private var moveDirection : Vector3 = Vector3.zero;
 
 function Update(){
 
     var horizmove : float = Input.GetAxis("Horizontal");
      
             Debug.Log(horizmove);
 
     var controller : CharacterController = GetComponent(CharacterController);
     if(controller.isGrounded) {
     
             moveDirection = Vector3(0,0,Input.GetAxis("Horizontal"));
             moveDirection *= speed;    
 
                 
                     if(Input.GetButton ("Jump")) {
                         moveDirection.y = jumpSpeed;
                     }
                 }
                 moveDirection.y -= gravity * Time.deltaTime;
                 controller.Move(moveDirection * Time.deltaTime);
                 
     
     animator = GetComponent(Animator);
     
     var charwalkspeed : float;
     
         GetComponent(Animator);
         
             charwalkspeed == "Walkspeed";
             
             animator.SetFloat("Walkspeed",horizmove);
             
 //Turn around on button press code
 
     var pressturnbutton : boolean;
         
         if(Input.GetButton ("Downbutton")) {
             pressturnbutton = true; 
         }else{
             pressturnbutton = false;
         }
         animator.SetBool("PressTurn",pressturnbutton);
 
 }

 
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
0

Answer by iwaldrop · Jan 31, 2013 at 04:17 PM

Check out coroutines. Start the animation with GetButtonDown. You can block any number of things from happening when your coroutine starts by settings flags.

http://docs.unity3d.com/Documentation/ScriptReference/index.Coroutines_26_Yield.html

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

10 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

Related Questions

The name 'Joystick' does not denote a valid type ('not found') 2 Answers

Scripting animations 2 Answers

Door script not completely working help! 1 Answer

How to use 'check if player is on ground' bool in script 2 Answers

My animation keeps on repeating on my animator 1 Answer


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