Noticias

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

Dudas en c#

Iniciado por R3N3, Mayo 05, 2016, 09:00:18 PM

Tema anterior - Siguiente tema
Mayo 05, 2016, 09:00:18 PM Ultima modificación: Mayo 05, 2016, 09:46:20 PM por pioj
Hola a todos. Estuve haciendo un tutorial de cámara y personaje en 3era persona del sitio 3dbuzz.com. Pero estaba incompleto, me falta la parte de aplicar las animaciones al personaje. Lo hice por mí mismo y se me presentó un problema:(soy ligeramente nuevo en c#, antes solo usaba JavaScript)en pseudo-código:
si(el personaje está en el suelo, y puedeMoverse es verdadero){
aplico las animaciones de movimientos según las entradas de los controles
}
public void animarAtaques(){
si(el personaje está en el suelo ){
      si(se presiona el click izq){
       puedeMoverse = falso;
       animo el personaje;
**espero que termine la animación**
puedeMoverse = true
       }
}
}
No se como hacer para poner la var puedeMoverse en verdadero cuando termine la animación. Antes en JavaScript solo ponía
yield WaitForSeconds(Atacar.length);[/quote] y después hacía el cambio, pero en c# no se puede usar así el waitForSeconds.Por favor alguien que me enseñe otra forma de hacer esto o cómo usar el waitForSeconds. Gracias.
 

Mayo 05, 2016, 09:53:02 PM #1 Ultima modificación: Mayo 05, 2016, 09:54:47 PM por hammer
 no soy programador asi que tampoco te puedo explicar mucho xD, pero algo asi
StartCoroutine(WaitSeconds());


IEnumerator WaitSeconds(){

    yield return new WaitForSeconds(5f);

}

Como ves no se llaman/lanzan de la misma manera que javascript,en c# se tiene que crear un metodo IEnumerator, hay que acostumbrarse un poco al cambio , en javascript es mas facil xD

como te sugiere hammer, mírate el capítulo de las Coroutines...  
eature=oembed" allowfullscreen="true" frameborder="0" height="270" width="480">  

Etiquetas: