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 Chrishutchy · Dec 30, 2013 at 11:37 AM · javascriptmovementplaneaccelerometerfly

How to add accelerometer controls to this script?

Hi,

New to unity and scripting and have to make a simple game for my university course. I've been using this script that i've found online for a plane but I need the controls to use the accelerometer for the planes controls so tilt left fly left, tilt up fly up etc... Any idea on how to put this into this script as I do not have a clue and this is due in in a couple of weeks?

Thanks

Chris

 var gameover=0;// Game Over || Turn on and off the airplane code. Becomes interesting at a later point. Game over ...
 static var airplaneangley: float=0.0;// This goes to the blob shadow. 
 
     // Rotaton and position of our airplane
     var rotationx=0;
     var rotationy=0;
     var rotationz=0;
     var positionx: float=0.0;
     var positiony: float=0.0;
     var positionz: float=0.0;
     
     var speed:float =0.0;//speed variable is the speed
     var uplift:float =0.0;
     
     function Update () {
     
     //Shadowstuff-----------------------------------------------------------------------------------------------------------------------------------------
     
             //shadow to the same angle than the airplane
             airplaneangley= transform.eulerAngles.y; 
     
     //Maincode flying ----------------------------------------------------------------------------------------------------------------------------------
     
         //Code is active when varwhatmoves is 1
         if(gameover==0){
     
         // Rotations of the airplane
             if (speed>595)transform.Rotate(Input.GetAxis("Vertical")*Time.deltaTime*100,0,0); //Hoch Runter, limitiert auf eine Minimalgeschwindigkeit || Up Down, limited to a minimum speed
             transform.Rotate(0,Input.GetAxis("Horizontal")*Time.deltaTime*100,0,Space.World); //Rechts Links || Left Right
             if (groundtrigger.triggered==0) transform.Rotate(0,0,Input.GetAxis("Horizontal")*Time.deltaTime*50*-1); //Seitenneigung. Mal Minus 1 um in die richtige Richtung zu drehen || Tilt multiplied with minus 1 to go into the right direction
             
             //limit tilt so that airplane doesn`t fly a roll while flying a curve
             if ((Input.GetAxis ("Horizontal")<0)&&(rotationz >45)&&(rotationz <90)) transform.Rotate(0,0,Time.deltaTime*-50);//linksrum || to the left
             if ((Input.GetAxis ("Horizontal")>0)&&(rotationz <315)&&(rotationz >270)) transform.Rotate(0,0,Time.deltaTime*50);//rechtsrum ||to the right
     
         //Speed
             transform.Translate(0,0,speed/20*Time.deltaTime);
         
         
         //Turn variables to rotation and position of the object
             rotationx=transform.eulerAngles.x; 
             rotationy=transform.eulerAngles.y; 
             rotationz=transform.eulerAngles.z; 
             positionx=transform.position.x;
             positiony=transform.position.y;
             positionz=transform.position.z;
     
         
         //Rotate back in z axis , limited by no horizontal button pressed
             if ((rotationz >0) && (rotationz < 90)&&(!Input.GetButton ("Horizontal"))) transform.Rotate(0,0,Time.deltaTime*-50);
             if ((rotationz >0) && (rotationz > 270)&&(!Input.GetButton ("Horizontal"))) transform.Rotate(0,0,Time.deltaTime*50);
             if ((rotationz >180) && (rotationz < 270)&&(!Input.GetButton ("Horizontal"))) transform.Rotate(0,0,Time.deltaTime*-50);
             if ((rotationz <180) && (rotationz > 90)&&(!Input.GetButton ("Horizontal"))) transform.Rotate(0,0,Time.deltaTime*50);
             
             //Rotate back X axis
             
                     if ((rotationx >0) && (rotationx < 180)&&(!Input.GetButton ("Vertical"))) transform.Rotate(Time.deltaTime*-50,0,0);
                     if ((rotationx >0) && (rotationx > 180)&&(!Input.GetButton ("Vertical"))) transform.Rotate(Time.deltaTime*50,0,0);
             
             
             //Speed driving and flying ------------------------------------------------------------------------------------------
             //
             //We need a minimum speed limit in the air. We limit again with the groundtrigger.triggered variable
         
             // Input Accellerate and deccellerate at ground
             if ((groundtrigger.triggered==1)&&(Input.GetButton("Fire1"))&&(speed<800)) speed+=Time.deltaTime*240;
             if ((groundtrigger.triggered==1)&&(Input.GetButton("Fire2"))&&(speed>0)) speed-=Time.deltaTime*240;
             
                     //  Input Accellerate and deccellerate in the air
             if ((groundtrigger.triggered==0)&&(Input.GetButton("Fire1"))&&(speed<800)) speed+=Time.deltaTime*240;
             if ((groundtrigger.triggered==0)&&(Input.GetButton("Fire2"))&&(speed>600)) speed-=Time.deltaTime*240;
             
             //Auftrieb  -------------------------------------------------------------------------------------------------------------------------------------------------------
             
             //When we don`t accellerate or deccellerate we want to go to a neutral speed in the air. With this speed it has to stay at a neutral height. Above this value the airplane has to climb, with a lower speed it has to  sink. That way we are able to takeoff and land then.
             
                 // Neutral speed at 700
                 //This code resets the speed to 700 when there is no acceleration or deccelleration. Maximum 800, minimum 600
             if((Input.GetButton("Fire1")==false)&&(Input.GetButton("Fire2")==false)&&(speed>595)&&(speed<700)) speed+=Time.deltaTime*240;
             if((Input.GetButton("Fire1")==false)&&(Input.GetButton("Fire2")==false)&&(speed>595)&&(speed>700)) speed-=Time.deltaTime*240;
         
             
             //uplift
             transform.Translate(0,uplift*Time.deltaTime/10.0,0);
                     
             //Calculate uplift
             uplift = -700+speed;
     //We don`t want downlift. So when the uplift value lower zero we set it to 0
             if ((groundtrigger.triggered==1)&&(uplift < 0)) uplift=0; 
         }
     }
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

18 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

Related Questions

Basic Movement on a Plane without Character Controller 2 Answers

Movement using rigidbody.velocity to apply a constant force until stop 1 Answer

Limit object position which is moved by accelerometer 0 Answers

auto run key 1 Answer

FPShooter sideway/forward dash? 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