Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Ayuda que baje velocidad al soltar

Iniciado por Gastonspas, Marzo 17, 2017, 06:31:10 PM

Tema anterior - Siguiente tema
Hola a todos necestio ayuda para que cuando suelte la w pierda velocidad eh probado de todo
 


var LeftWheel : WheelCollider;
var RightWheel : WheelCollider;
var rueda_1 : WheelCollider;
var rueda_2 : WheelCollider;
var MaxTorque = 200;
var MaxBreakTorque = 500;
var UIVELO : UI.Text;
//var velocimetro : Texture2D;
//var aguja : Texture2D; 
var currentSPEED = 0.0;
var isbreak : boolean = false;
var stop : boolean = false;
var solto : boolean = false;
function Start()
{
    UIVELO.material.color = Color.red;
}
function Update()
{
    if (currentSPEED > 500)
    {
        UIVELO.material.color = Color.red;
        stop = true;
    }
    else
        UIVELO.material.color = Color.green;
    if (Input.GetKeyDown(KeyCode.S))
    {
        isbreak = true;
    }
    else if (Input.GetKeyUp(KeyCode.S))
    {
        isbreak = false;
    }
    if (Input.GetKeyDown(KeyCode.W))
    {
        rueda_1.motorTorque = MaxTorque * 1  * Input.GetAxis("Vertical");
        rueda_2.motorTorque = MaxTorque * 1 * Input.GetAxis("Vertical");
        solto = false;
    }
    if (Input.GetKeyUp(KeyCode.W))
    {
        solto = true;
        Solto();
    }
    
}
function Solto()
{
    if (solto)
    {
        if (currentSPEED >= 1)
        {
            LeftWheel.brakeTorque = MaxBreakTorque;
            RightWheel.brakeTorque = MaxBreakTorque;
        }
        else
            solto = false;
        if (currentSPEED < 0)
        {
            LeftWheel.brakeTorque = 0;
            RightWheel.brakeTorque = 0;
            rueda_1.motorTorque = 0;
            rueda_2.motorTorque = 0;
            solto = false;
        }
        Invoke("Solto", 0.1);
    }
}
function FixedUpdate()
{
    currentSPEED = (Mathf.PI * 2 * LeftWheel.radius) * LeftWheel.rpm * 60/600;
    currentSPEED = Mathf.Round(currentSPEED);
    LeftWheel.steerAngle = 60 * Input.GetAxis("Horizontal");
    RightWheel.steerAngle = 60 * Input.GetAxis("Horizontal");
    UIVELO.text = currentSPEED.ToString();
    if (isbreak)
    {
        LeftWheel.brakeTorque = MaxBreakTorque;
        RightWheel.brakeTorque = MaxBreakTorque;
    }
    else
    {
        LeftWheel.brakeTorque = 0;
        RightWheel.brakeTorque = 0;
    }
}
/*function OnGUI()
{
    GUI.Box(Rect(0,0,140.0,140.0), velocimetro);
    var y = 70;
    var x = 70;
    GUIUtility.RotateAroundPivot( currentSPEED + 40, Vector2(y * x, 0));
    GUI.DrawTexture(Rect(0,0,100,100), aguja, ScaleMode.StretchToFill,true,0);
}*/
 

Marzo 17, 2017, 06:51:52 PM #1 Ultima modificación: Marzo 17, 2017, 06:52:55 PM por manux
El Input ya te detecta que presionaste la W, por lo que con un else cambias solto a True.
 

     if (Input.GetKeyDown(KeyCode.W))
    {
        rueda_1.motorTorque = MaxTorque * 1  * Input.GetAxis("Vertical");
        rueda_2.motorTorque = MaxTorque * 1 * Input.GetAxis("Vertical");
        solto = false;
    }else{
            solto = true;
            Solto();
       }

 
Y elimina esto, ya que esto es cuando estas aprendando W.
 

if (Input.GetKeyUp(KeyCode.W))
    {
        solto = true;
        Solto();
    }

 
 

Etiquetas: