Noticias

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

Aumento de Velocidad al Personaje

Iniciado por Andres David, Octubre 27, 2015, 06:40:59 PM

Tema anterior - Siguiente tema
Octubre 27, 2015, 06:40:59 PM Ultima modificación: Octubre 27, 2015, 06:46:55 PM por Andres David
Buenas Tardes, para ver si me pueden colaborar con un problema, Tengo un personaje que esta sobre una bicicleta, este coge un poder (Power up) el cual aumenta su velocidad durante unos segundos, lo que pasa es que cuando el jugador detecta el poder, inmediatamente aumenta su velocidad y lo que yo quiero es que aumente la velocidad, pero cuando "yo" presionar una tecla... Ustedes dirán... pues pongale un input, pero se lo pongo y no pasa nada. Mientras que si se lo quito, ahí hace efecto el poder... A que se debe esto y como lo puedo solucionar.Lo intenté por el Update y no funciona, y se lo puse en el FixedUpdate por curiosidad (Ya que los inputs es recomendable manejarlos en el update) y funcionó , pero a la hora de poner el input deja de funcionar. Gracias por su ayuda.

Utilizaste el Input.GetKey o Input.getkeyDown?

Octubre 27, 2015, 07:39:05 PM #2 Ultima modificación: Octubre 27, 2015, 07:40:05 PM por Andres David
Hola Kinezis...Mmm mira como lo tengo en la imagen, y pues lo intente tanto por llamado desde un método, como por el Fixes...

Sinceramente, no le veo el por que pasa eso, Dx la variable "tiempoPowerPpal" como se incrementa?

Veo una coroutine en el fixedupdate. Cuando le des a button down "Poder" te va a lanzar de golpe cientos de llamadas a esa coroutine (1 x cada fixed frame). Todas se ejecutarán simultáneamente luchando y cambiando a saber qué variables.

Octubre 27, 2015, 09:16:57 PM #5 Ultima modificación: Octubre 27, 2015, 09:45:50 PM por Andres David
Sii tenes razón iRobb, pero ya organice todo eso, y ya lo pude solucionar, solo que no lo había informado aquí, pero ahora el problema que tengo es con otro poder, que el jugador al cojerlo y lanzarlo, quiero que los otros jugadores se queden quietos inmediatamente, su velocidad pase a cero, como podria hacer esto, ya que como hice con el poder anterior, parecere no funcionarme en este.. jajaja XDY gracias por comentar.Kinezis, respondiendo a tu pregunta, solamente es una variable de tiempo que la incremento en cuestiones de tiempo, para que me lleve un conteo del tiempo transcurrido, y lo unico que hice fue hacer algo así... tiempoPowerPpal += Time.deltaTime al principio del Update, aunque esa primera parte ya la pude solucionar, ahora estoy con lo que acabo de comentar.Saludos 

Hola, no entendio muy bien tu duda, pero para dejar a todos los demas a 0, si los otros jugadores son controlados por IA, y usan el mismo script, pues pon una variable de ese script:var DemasJugadoresControl : DemasJugadoresControlScript;y cuando suceda lo que quieres, es decir se active el poder pones:DemasJugadoresControl.velocidad = 0;y cuando termine el efecto del poderDemasJugadoresControl.velocidad = la velocidad original;

Gracias R3N3 por comentar, pero esta pregunta ya la solucioné; pero de todas maneras muchas gracias. 

Etiquetas: