Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: maya111 en Junio 25, 2015, 05:30:42 PM

Título: Detener rutina y comenzar otra
Publicado por: maya111 en Junio 25, 2015, 05:30:42 PM
Hola buen día, necesito ayuda    lo que quiero que al oprimir la segunda tecla detenga el movimiento de la primera  y no es asi, porque se ejecutan las 2 al mismo tiempo.Este es mi Script.
 
 var inc=50;
var incr=10;
var traslacionX: boolean= false ; 
var traslacionY: boolean= false;
var traslacionZ: boolean= false;
//Rotacion
var RotacionX: boolean= false; 
var RotacionY: boolean= false;
var RotacionZ: boolean= false;
 
 
function Routine1 (){
constantForce.relativeForce.x= inc * Time.deltaTime;
}
 
function Routine2 (){
constantForce.relativeForce.y= inc * Time.deltaTime;
}
 
function Routine3 (){
constantForce.relativeForce.z= inc * Time.deltaTime;
}
 
//Rutinas de rotacion...
function Routine4 (){
constantForce.relativeTorque.x= incr * Time.deltaTime;
 
}
function Routine5 (){
constantForce.relativeTorque.y= incr * Time.deltaTime;
}
function Routine6 (){
constantForce.relativeTorque.z= incr * Time.deltaTime;
}
 
 
function Update () {
if(Input.GetKeyDown(KeyCode.X)){
traslacionX= true;
traslacionY= false;
traslacionZ= false;
}
if(Input.GetKeyDown(KeyCode.Y)){
traslacionX= false;
traslacionY= true;
traslacionz= false;
}
if(Input.GetKeyDown(KeyCode.Z)){
traslacionX= false;
traslacionY= false;
traslacionZ= true;
}
 
 
//Rotacion..
if(Input.GetKeyDown(KeyCode.R)){
RotacionX=true;
RotacionY=false;
RotacionZ=false;
}
if(Input.GetKeyDown(KeyCode.O)){
RotacionX=false;
RotacionY=true;
RotacionZ=false;
}
if(Input.GetKeyDown(KeyCode.T)){
RotacionX=false;
RotacionY=false;
RotacionZ=true;
}
 
 
 
if(traslacionX){
Routine1 ();
}
if(traslacionY){
Routine2 ();
}
if(traslacionZ){
Routine3 ();
}
 
//Rotacion
if(RotacionX){
Routine4 ();
}
if(RotacionY){
Routine5 ();
}
if(RotacionZ){
Routine6 ();
}
 
 
 
print( inc);
}
 
 
 
Gracias.
 
Título: Detener rutina y comenzar otra
Publicado por: pioj en Junio 25, 2015, 06:10:37 PM
Si haces las condiciones dependientes entre ellas, evitas la posibilidad de que se pulsen varias teclas a la vez:

if (Input.getKeyDown(keycode.R))
{
//codigo que vaya aqui
} else if (Input.getKeyDown(keycode.V))
{
//codigo que vaya aquí
}

En el ejemplo de arriba, nunca se permitirá pulsar a la vez las teclas R y V, sólo cualquiera de ellas.
Título: Detener rutina y comenzar otra
Publicado por: maya111 en Junio 29, 2015, 11:46:40 PM
Cita de: pioj date=1435248637Si haces las condiciones dependientes entre ellas, evitas la posibilidad de que se pulsen varias teclas a la vez:

if (Input.getKeyDown(keycode.R))
{
//codigo que vaya aqui
} else if (Input.getKeyDown(keycode.V))
{
//codigo que vaya aquí
}

En el ejemplo de arriba, nunca se permitirá pulsar a la vez las teclas R y V, sólo cualquiera de ellas.
Gracias revisare!!!