Advertisement
obernardovieira

[Unity]Antigo codigo de controlar veiculo

Jun 17th, 2013
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.03 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4.  
  5. public class controlarvei : MonoBehaviour {
  6.     public GameObject rodad;
  7.     public GameObject rodadp;
  8.     public GameObject rodae;
  9.     public GameObject rodaep;
  10.     public GameObject rodate;
  11.     public GameObject rodatd;
  12.    
  13.     public WheelCollider rodadireita;
  14.     public WheelCollider rodaesquerda;
  15.     public float maxTorque;
  16.     public float maxAngle;
  17.    
  18.     private float actualAngle;
  19.     private int voltas=0;
  20.     private float rodada;
  21.    
  22.     private const float RODAR_NR = 2.0f;
  23.     private const int MAX_RODA = 20;
  24.    
  25.     // Use this for initialization
  26.     void Start () {
  27.         rigidbody.centerOfMass = new Vector3(0, 0, 0);
  28.         actualAngle=maxAngle;
  29.     }
  30.    
  31.     // Update is called once per frame
  32.     void FixedUpdate () {
  33.         if(rodadireita.rpm<-100) {
  34.             actualAngle=maxAngle/((-rodadireita.rpm)/100);
  35.         }
  36.         rodadireita.motorTorque=maxTorque*(-Input.GetAxis("Vertical"));
  37.         rodaesquerda.motorTorque=maxTorque*(-Input.GetAxis("Vertical"));
  38.         rodadireita.steerAngle=actualAngle*Input.GetAxis("Horizontal");
  39.         rodaesquerda.steerAngle=actualAngle*Input.GetAxis("Horizontal");
  40.        
  41.        
  42.         if(rodadireita.rpm>1||rodadireita.rpm<-1) {
  43.             rodada=rodadireita.rpm/10;
  44.             rodad.transform.Rotate(rodada,0,0);
  45.             rodae.transform.Rotate(rodada,0,0);
  46.             rodatd.transform.Rotate(rodada,0,0);
  47.             rodate.transform.Rotate(rodada,0,0);
  48.         }
  49.        
  50.         if(Input.GetKey(KeyCode.D)) {
  51.             if(voltas<MAX_RODA) {
  52.                 rodadp.transform.Rotate(0, 0, RODAR_NR);
  53.                 rodaep.transform.Rotate(0, 0, RODAR_NR);
  54.                 voltas++;
  55.             }
  56.         }
  57.         else if(Input.GetKey(KeyCode.A)) {
  58.             if(voltas>-MAX_RODA) {
  59.                 rodadp.transform.Rotate(0, 0, -RODAR_NR);
  60.                 rodaep.transform.Rotate(0, 0, -RODAR_NR);
  61.                 voltas--;
  62.             }
  63.         }
  64.        
  65.         if(voltas>0&&voltas<MAX_RODA+1&&!Input.GetKey(KeyCode.D)) {
  66.             rodadp.transform.Rotate(0, 0, -RODAR_NR);
  67.             rodaep.transform.Rotate(0, 0, -RODAR_NR);
  68.             voltas--;
  69.         }
  70.         else if(voltas<0&&voltas>-MAX_RODA-1&&!Input.GetKey(KeyCode.A)) {
  71.             rodadp.transform.Rotate(0, 0, RODAR_NR);
  72.             rodaep.transform.Rotate(0, 0, RODAR_NR);
  73.             voltas++;
  74.         }
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement