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 Ninjaoboy · Jul 19, 2011 at 03:50 AM · caryieldif statementflip

if occurs for continuesly for 3 seconds

i want it to be an if statement that sees if it lasted 3 seconds non-stop like this.

     if((Car.transform.eulerAngles.z < 295) && (Car.transform.eulerAngles.z > 65)){
     UpsideDown= true;
     }
     else{
     UpsideDown = false;
     }
 
  if(UpsideDown == true){
         exit();
         }
         
   
     function exit(){
     yield WaitForSeconds(3);
         if(UpsideDown == true && incar == true){
             exitCar();
         }
         
    

and this works but it's just that it starts when you go upside down, and 3 seconds later it checks again, if your stilkl updie down you exit, the problem is that if my car is rolling then it starts the timer then keeps rolling and eventually the player pops out, i want it to be if the car is upside down for a complete 3 seconds, were the if statement is checking the whole 3 seconds for that.

Comment
Add comment · Show 1
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 aldonaletto · Jul 19, 2011 at 04:29 AM 0
Share

Be aware that each time the function exit is called it starts a new 3 seconds delay - even if the previous ones have not finished. If exit is called several times, 3 seconds after each call the exitCar function will be called until the variable inCar becomes false.

1 Reply

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

Answer by jahroy · Jul 19, 2011 at 04:08 AM

How about whenever the car is upright you record the time.

You could then check how long it's been since the car was upright.

If it's been more than 3 seconds, the player should exit the car.

 var lastTimeUpright  :  float  =  0.0;
 
 function Update ()
 {
     if ( isUpright(carObject) ) {
         lastTimeUpright = Time.time;
     }
     
     var timeSince = Time.time - lastTimeUpright;
 
     if ( timeSince > 3.0 ) {
         getOutThaCar();
     }
 }
 
 function isUpright ( theCar )
 {
     if ( theCar.transform.eulerAngles.z > 295 ) {
         return false;
     }
     
     if ( theCar.transform.eulerAngles.z < 65 ) {
         return false;
     }
     
     return true;
 }
Comment
Add comment · Show 1 · 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
avatar image Ninjaoboy · Jul 20, 2011 at 06:03 PM 0
Share

thank you thank you thank you... i got it to work your idea works i did my script a little different from the one you provied but i got it to work thanks.

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Is there a script for moving a rigidbody without using a character controller? 1 Answer

Why is yield not working for me? 2 Answers

basics of making a gas script (making cars get gas in a gas staition) 1 Answer

2D Character Flip 2 Answers

Traffic Script 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